Sammuel

  • Nombre de sujets
    26
  • Nombre de messages
    114
  • Nombre de commentaires
    1
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Sammuel
le 28/09/2007 à 13:03
Class PHP Messagerie + pagination
Salut !

Cela fait quelques années que je m'interesse au PHP et j'aimerais avancer d'un cran :p

Je viens de lire les cours sur 'La programmation objet' de LA GLOBULE et n'ayant jamais codé en class (juste en fonction...), j'aimerais beaucoup m'y mettre.

Aussi, j'aimerais bien voir comment fonctionnent ces classes quand il faut gérer la pagination des résultats retournés pour une messagerie par exemple.

Auriez vous des liens à m'indiquer pour ce genre de code ? J'aimerais bien en avoir un exemple pour avoir une idée globale du fonctionnement entre le script de pagination et le script de la messagerie.

Merci :D
Sammuel
le 26/09/2007 à 13:40
ajouter une variable à une url
tu as essayé avec header() ?

Comme ca :

if(!isset($_GET['var'])){
header("Location: ma_page.php?var=$totalRows_ma_requete");
}


Mais il faut que ce code soit affiché avant tout code html ! a cause de header()... enfin je crois :p
Sammuel
le 25/09/2007 à 16:23
LIMIT sql dans un while() possible ?
Salut,

Je vous pose cette question pour les scripts de pagination entre autre...

On doit faire deux requetes pour ce genre de script (une qui compte le nombre d'enregistrements total, et une autre qui les affiche).

Aussi, pour n'en faire qu'une, y a t'il moyen d'insérer la limite SQL (LIMIT 0,50 par exemple) directement dans le while ?

while($row = mysql_fetch_assoc($req) && LIMIT 0,50){
}


J'ai du voir ce genre de code quelque part... mais je ne sais pas ou ^^

Le code que j'ai indiqué plus ne fonctionne pas... Pour que ca fonctionne, je pourrais faire :

while($row = mysql_fetch_assoc($req) && $i> 0 && $i <50){
}


Mais je crois me souvenir avoir vu LIMIT dans while() smiley
Sammuel
le 13/09/2007 à 17:25
unlink()
As oui tu fais un include du fichier connection au début ! :p

Sinon, tu peux faire des tests !! pour voir ou ca cloche.

Exemple, si tu ajoutes cette ligne dans la fonction sous '$requete' :

$count = mysql_num_rows($requete);
echo $count;


Qu'est ce que ca t'indique ??

Sinon, tu peux faire un echo de $requete et tester la ligne retournée dans PHPmyadmin, dans l'onglet SQL !
Sammuel
le 13/09/2007 à 17:18
unlink()
Avec le PHP, il suffit de faire des petits tests a certains endroits de ton script pour voir ou ca flanche :D

Déja changé "mysql_fetch_row" en "mysql_fetch_array" ou "mysql_fetch_assoc".

Sinon, ton script à l'air ok... mais quand est ce que tu te connectes à ta base de données ?

Dans ta fonction, tu n'as que :
$requete = "SELECT image FROM news WHERE id = '".$id."'";
$resultat = mysql_query ($requete, $connexion);


As tu un code de ce genre quelque part ??
$db = mysql_connect('localhost', 'root', '');  
mysql_select_db('xxxxxx',$db);


Car si tu ne te connectes pas a ta BDD, c'est sure, ca ne va pas fonctionner :D
Sammuel
le 11/09/2007 à 15:34
unlink()
Pourquoi vous faites un DISTINCT ?

Dans, ton cas, tu souhaites selectionner LA photo correspondant a l'ID XX pour la supprimer.
Tu ne selectionnes qu'une seule photo, non ? donc le distinct ne sers à rien si je ne me trompe pas ^^

Je viens de voir un truc :p

news_exe.php?id=$id&action=deletePhoto
et la condition suivante :

if($_GET[action] == 'deletePhoto') {
SupprimerPhoto($id);
}


Tu fais un $_GET[action] pour sélectionner l'action a faire... mais tu ne récupère pas l'id de la news !!

Donc, il faut également que tu faces un $_GET['id'] pour récupérer l'ID de la news :p

if(isset($_GET['action']) && $_GET['action'] == "deletePhoto") {
$id = (int)$_GET['id'];
SupprimerPhoto($id);
}


Et la fonction :
function SupprimerPhoto($id) {
$requete = "SELECT image FROM news WHERE id = '".$id."'";
$resultat = mysql_query ($requete, $connexion);
$data = mysql_fetch_row ($resultat);
unlink ("../img/".$data['image']);
}
LoadingChargement en cours