Résolu Petit problème de script

Solutions (2)
Tags :
  • Script
  • Select
  • MySQL
  • Programmation
|
Bonjour,
Lorsque j'exécute la requête ci_dessous en sql, elle fonctionne correctement et m'affcihe bien le dernier enregistrement de ma table.
--> La requête : SELECT * FROM nouveladherent ORDER BY 'num' DESC limit 0, 1
Lorsque je l'incorpore dns mon script php, le résultat n'est pas le même, il m'affiche le premier enregistrement et non pas le dernier.
Voilà mon script php:
mysql_select_db($database_Connect, $Connect);

$req = "SELECT * FROM nouveladherent ORDER BY 'num' DESC limit 0, 1";
$recupenr = mysql_query($req, $Connect) or die(mysql_error());

$enr = mysql_fetch_array($recupenr);

// Recuperation des champs
$num = $enr[0];
$Civilite = $enr[1];
echo $Civilite;
// $Civilite = $row[0];
$Nom = $enr[2];
echo $Nom;
$Prenom = $enr[3];
echo $Prenom;
$Mail = $enr[10];
echo $Mail;
Merci pour votre aide.
Cordialement
Contenus similaires
Meilleure solution
partage
, Ex-AdMiN |
Ouch ! pas beau du tout ce code ! (désolé).

1) ne jamais mettre * dans une requête sql.
2) éviter d'utiliser mysql_fetch_array mais plutot fetch_assoc ou fetch_row.
3) Eviter or die() mais priviligier or trigger_error() ou des exeptions. Sinon tu peux afficher des erreurs aux visiteurs et c'est une très mauvaise pratique.

Ici si tu modifie un jour la structure de ta base, rien que ajouter un champs tu vas devoir revoir ton code ... pas top !

Tu n'as pas donné la structure de ta table mais je suppose que num correspond à ce qu'on nomme généralement id.

Dans ce cas on a :

  1. SELECT * FROM nouveladherent ORDER BY id DESC limit 0, 1


Pourquoi avoir mis des quotes ?
  • Commenter cette solution |
Score
0
òh
òi
|
Bonjour SiM07,
Merci pour toutes ces informations que je vais mettre en oeuvre.
Je n'ai pas répondu plus tôt car je me suis absenté quelques jours. Je vais tout de même expliquer comment j'ai résolu ce problème de script.
En fait c'était une question de logique. Je voulais avec un seul bouton générer plusieurs actions (insertion de données dans une table, retour d'une confirmation, recueil de certaines valeurs de champs et envoi d'un mail au responsable).
Tout ceci n'arrivait pas à être synchronisé ce qui fait que je ne pouvais pas récupérer le dernier enregistrement qui venait d'être inséré dans la table 'nouveladherent'.
Pour contourner ce problème de synchronisation, j'ai tout simplement forcé la fermeture de la page de confirmation par un bouton qui lance le script de recueil du dernier enregistrement inséré et qui envoie le mail au responsable.
Merci beaucoup et à trés bientôt.
Cordialement
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS