Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2011, 08h52   #1
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
Par défaut Test de variable

Bonjour,

Je dois recuperer un ID de record depuis un SELECT dans une variable et ce, dans une page. La difficulté est lorsque que la variable est vide (pas d'ID) je dois lui affecter un ID par défaut. J'ai beau tester si cette variable est variable vide mais en vain. J'ai utiliser plusieurs variantes de test ce qui fait que la suite du code n'est pas exécuter. Voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
 $sql = "SELECT id FROM table WHERE date_soumission = DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 0 DAY)";
  $query = mysql_query($sql);
  $row = mysql_fetch_array($query) OR die(mysql_error());
  $MaxID = $row['id'];
 
 
 
  if (!$MaxID) 
  {
  $MaxID=1;
  }
 
 
  if ($MaxID==0) 
  {
  $MaxID=1;
  }
 
  if (empty($MaxID))
  {
  $MaxID=1;
  }
 
 
  if (is_null($MaxID))
  {
  $MaxID=1;
  }
 
//-------suite du code----------------
..........................
.........................
Merci de votre aide
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 09h11   #2
Membre du Club
 
Homme
Webmaster
Inscription : septembre 2008
Messages : 113
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : septembre 2008
Messages : 113
Points : 45
Points : 45
Salut,

Tu n'as pas d'erreur lors de l'exécution de ta requêtes ?
As-tu plusieurs résultats en sortit de ta requête ?

Arretez moi si je me trompe mais pourquoi tu ne fais pas une boucle while :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
while($row = mysql_fetch_array($query)){
 
  if ($row['id'] == 0) 
  {
  $MaxID=1;
  }
 
  if (is_null($row['id'])) 
  {
  $MaxID=1;
  }
 
 
  if (empty($row['id'])) 
  {
  $MaxID=1;
  }
}

en gros dis moi si ça marche....?enfin tu adapte après
cragoroth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 09h17   #3
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

avant de continuer je t'invite à regarder plus en détail empty() et ensuite de comparer avec ton code.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 11h03   #4
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
Je n'ai qu'un seul résultat en sortie, le champ ID du SELECT. La requête fonctionne bien et la page s'affiche. Et ni le while ni le empty ne règlent le problème. Le seul problème c'est que lorsque la requête ne trouve aucun enregistrement.........................
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 11h07   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par freud Voir le message
Mais qu'es-ce que ça devrait donner si je n'obtiens aucun enregistrement depuis la requête ?
mysql_fetch_array retourne FALSE. Ce qui, avec votre or die, met fin au script

En admettant qu'on attende [0;1] ligne :
Code :
1
2
3
4
5
if (FALSE === ($row = mysql_fetch_array($query))) {
    // pas de ligne
} else {
    // 1 ligne, utiliser $row
}
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 11h13   #6
Membre éprouvé
 
Homme
Analyste-développeur
Inscription : mai 2002
Messages : 993
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Analyste-développeur

Informations forums :
Inscription : mai 2002
Messages : 993
Points : 425
Points : 425
C'est cela c'est le DIE qui faisait coincer merci julp
et cragoroth et rawsrc aussi
__________________
Il n' y a de Pouvoir que le Savoir
freud est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h40.


 
 
 
 
Partenaires

Hébergement Web