Test champs base mysql
t671
-
jona303 Messages postés 390 Statut Membre -
jona303 Messages postés 390 Statut Membre -
Bonjour,
Je pense que c'est tout bête, mais je bloque pour tester un champs d'une base mysql !
Si le champs "datefr" est vide alors ........ , sinon .......
if (datefr == "") { echo '<td bgcolor="#669988" width="230px" align="left">'.$row['datefr'].' '.$row['heure'].'</td>'; }
else { echo '<td bgcolor="#669988" width="230px" align="left">Le '.$row['datefr'].' à '.$row['heure'].'</td>'; }
Là, le "else" est toujours éxécuté !!!! Pourquoi ? Où est mon erreur ?
Merci
Je pense que c'est tout bête, mais je bloque pour tester un champs d'une base mysql !
Si le champs "datefr" est vide alors ........ , sinon .......
if (datefr == "") { echo '<td bgcolor="#669988" width="230px" align="left">'.$row['datefr'].' '.$row['heure'].'</td>'; }
else { echo '<td bgcolor="#669988" width="230px" align="left">Le '.$row['datefr'].' à '.$row['heure'].'</td>'; }
Là, le "else" est toujours éxécuté !!!! Pourquoi ? Où est mon erreur ?
Merci
A voir également:
- Test champs base mysql
- Test performance pc - Guide
- Steam deck oled test - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test composant pc - Guide
- Base de registre - Guide
7 réponses
datefr est un champs de la base. Il peut contenir un enregistrement ou pas.
Si je met
if ($datefr == "")
c'est pareil ....... le résultat ne m'affiche que la condition else !
Si je met
if ($datefr == "")
c'est pareil ....... le résultat ne m'affiche que la condition else !
Voilà (dont, datefr est un champs de la table manifestations):
$select = 'SELECT * FROM manifestations ORDER BY date ASC';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
{
//affichage des résultats
while($row = mysql_fetch_array($result))
{
echo '<table width="700px" border="1">';
echo '<tr>';
if ($datefr == " ") { echo '<td bgcolor="#669988" width="230px" align="left">'.$row['datefr'].' '.$row['heure'].'</td>'; }
else { echo '<td bgcolor="#669988" width="230px" align="left">Le '.$row['datefr'].' à '.$row['heure'].'</td>'; }
echo '<td bgcolor="#669999" width="400px" align="left"><span style="font-weight: 400"> '.$row['titre'].' </span></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" bgcolor="#FFFFCC" width="100%" align="left"><span style="font-weight: 400"> '.nl2br($row['texte']).' </span></td>';
echo '</tr></table><p>';
}
}
$select = 'SELECT * FROM manifestations ORDER BY date ASC';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
{
//affichage des résultats
while($row = mysql_fetch_array($result))
{
echo '<table width="700px" border="1">';
echo '<tr>';
if ($datefr == " ") { echo '<td bgcolor="#669988" width="230px" align="left">'.$row['datefr'].' '.$row['heure'].'</td>'; }
else { echo '<td bgcolor="#669988" width="230px" align="left">Le '.$row['datefr'].' à '.$row['heure'].'</td>'; }
echo '<td bgcolor="#669999" width="400px" align="left"><span style="font-weight: 400"> '.$row['titre'].' </span></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" bgcolor="#FFFFCC" width="100%" align="left"><span style="font-weight: 400"> '.nl2br($row['texte']).' </span></td>';
echo '</tr></table><p>';
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
heuu relis ton code. :D si j'ai bien compreis tu dois faire un
if ($row['datefr']=="")
comme tu l'as écris plus loin.. :)
if ($row['datefr']=="")
comme tu l'as écris plus loin.. :)
Ben non ! Finalement ça ne marche pas !
Voici mon code :
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//récupère tous les enregistrements + tri ascendant des dates ($select)
$select = 'SELECT * FROM manifestations ORDER BY date ASC';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
{
//affichage des résultats
while($row = mysql_fetch_array($result))
if ($datefr == "" )
{
echo '<table width="700px" border="1">';
echo '<tr>';
echo '<th rowspan="2" bgcolor="#ffe4c4" width="70px" align="center"><a href="modif-manif.php?mode=modif&id='.$row['id'].'">Modifier</a><p><a href="suppression.php?mode=suppression&id='.$row['id'].'">Supprimer</a></th>';
echo '<td bgcolor="#669988" width="230px" align="left">'.$row['datefr'].' '.$row['heure'].'</td>';
echo '<td bgcolor="#669999" width="400px" align="left"><span style="font-weight: 400"> '.$row['titre'].' </span></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" bgcolor="#FFFFCC" width="100%" align="left"><span style="font-weight: 400"> '.nl2br($row['texte']).' </span></td>';
echo '</tr></table><p>';
}
else
{
echo '<table width="700px" border="1">';
echo '<tr>';
echo '<th rowspan="2" bgcolor="#ffe4c4" width="70px" align="center"><a href="modif-manif.php?mode=modif&id='.$row['id'].'">Modifier</a><p>';
echo '<td bgcolor="#669988" width="230px" align="left">Le '.$row['datefr'].' à '.$row['heure'].'</td>';
echo '<td bgcolor="#669999" width="400px" align="left"><span style="font-weight: 400"> '.$row['titre'].' </span></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" bgcolor="#FFFFCC" width="100%" align="left"><span style="font-weight: 400"> '.nl2br($row['texte']).' </span></td>';
echo '</tr></table><p>';
}
}
Là, le "else" n'est pas éxécuté.
Si datefr est vide, le champs est affiché vide.
Et si il y a un enregistrement, il s'affiche, mais le "Le" et "à" de "Le '.$row['datefr'].' à '.$row['heure'].'" ne s'affichent pas.
Et moi je suis un peu perdu :((
Voici mon code :
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//récupère tous les enregistrements + tri ascendant des dates ($select)
$select = 'SELECT * FROM manifestations ORDER BY date ASC';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
{
//affichage des résultats
while($row = mysql_fetch_array($result))
if ($datefr == "" )
{
echo '<table width="700px" border="1">';
echo '<tr>';
echo '<th rowspan="2" bgcolor="#ffe4c4" width="70px" align="center"><a href="modif-manif.php?mode=modif&id='.$row['id'].'">Modifier</a><p><a href="suppression.php?mode=suppression&id='.$row['id'].'">Supprimer</a></th>';
echo '<td bgcolor="#669988" width="230px" align="left">'.$row['datefr'].' '.$row['heure'].'</td>';
echo '<td bgcolor="#669999" width="400px" align="left"><span style="font-weight: 400"> '.$row['titre'].' </span></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" bgcolor="#FFFFCC" width="100%" align="left"><span style="font-weight: 400"> '.nl2br($row['texte']).' </span></td>';
echo '</tr></table><p>';
}
else
{
echo '<table width="700px" border="1">';
echo '<tr>';
echo '<th rowspan="2" bgcolor="#ffe4c4" width="70px" align="center"><a href="modif-manif.php?mode=modif&id='.$row['id'].'">Modifier</a><p>';
echo '<td bgcolor="#669988" width="230px" align="left">Le '.$row['datefr'].' à '.$row['heure'].'</td>';
echo '<td bgcolor="#669999" width="400px" align="left"><span style="font-weight: 400"> '.$row['titre'].' </span></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" bgcolor="#FFFFCC" width="100%" align="left"><span style="font-weight: 400"> '.nl2br($row['texte']).' </span></td>';
echo '</tr></table><p>';
}
}
Là, le "else" n'est pas éxécuté.
Si datefr est vide, le champs est affiché vide.
Et si il y a un enregistrement, il s'affiche, mais le "Le" et "à" de "Le '.$row['datefr'].' à '.$row['heure'].'" ne s'affichent pas.
Et moi je suis un peu perdu :((
résumons,
le else s'execute lorsque datefr n'est pas vide.
si oui,
- pq avoir affiché $row['datefr'] dans le premier if.
je pense que ton probleme vient de la,.. il ne va probablement jamais dans le else.
est tu certain que tu ne dois pas faire if ($row['datefr']="") ?
le else s'execute lorsque datefr n'est pas vide.
si oui,
- pq avoir affiché $row['datefr'] dans le premier if.
je pense que ton probleme vient de la,.. il ne va probablement jamais dans le else.
est tu certain que tu ne dois pas faire if ($row['datefr']="") ?
Le "else" n'est jamais éxécuté.
J'ai modifié le if en if (empty($row['$datefr'])).
Si datefr est vide, le champs est affiché vide.
Et si il y a un enregistrement, il s'affiche, mais le "Le" et "à" de "Le '.$row['datefr'].' à '.$row['heure'].'" ne s'affichent pas. Donc, le else n'est pas éxécuté.
Et moi je suis un peu perdu ........
J'ai modifié le if en if (empty($row['$datefr'])).
Si datefr est vide, le champs est affiché vide.
Et si il y a un enregistrement, il s'affiche, mais le "Le" et "à" de "Le '.$row['datefr'].' à '.$row['heure'].'" ne s'affichent pas. Donc, le else n'est pas éxécuté.
Et moi je suis un peu perdu ........