[MySQL] Variables je crois
Jeremy
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour, j'ai un autre problème. Mon script MySql ne marche pas, problème de variable peut-etre ?
Le voici :
Tout l'aide que vous pouvez m'apporter sera apprécié :).
Bonne soirée.
Le voici :
<div align="center">
<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td width=\"25\" align=\"center\">ID</td>
<td align=\"center\" width=\"280\">Numéro de série</td>
<td align=\"center\" width=\"120\">Date d'ajout</td>
<td align=\"center\" width=\"120\">Date d'expiration</td>
<td align=\"center\" width=\"120\">Utilisé le</td>
<td align=\"center\" width=\"120\">Seulement pour</td>
<td align=\"center\" width=\"16\">X</td>
<td align=\"center\" width=\"16\">Ban</td>
</tr>
<?php
$connexion = mysql_connect("sql3.byethost9.com","b9_235027","0550137") or die(mysql_error());
$db = mysql_select_db("b9_235027_serv1") or die(mysql_error());
$sql = 'SELECT * FROM serial';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
if ($data['banned'] == 0) {
$banned_oui_non == "Non";
} else {
$banned_oui_non == "Oui";
}
while($data = mysql_fetch_array($req)) {
echo "<tr> <td align=\"center\" width=\"25\">";
echo $data['id'];
echo "</td>";
echo " <td align=\"center\" width=\"280\">";
echo $data['serial'];
echo "</td>";
echo " <td align=\"center\" width=\"120\">";
echo $data['added_date'];
echo "</td>";
echo " <td align=\"center\" width=\"120\">";
echo $data['valid_until'];
echo "</td>";
echo " <td align=\"center\" width=\"120\">";
echo $data['used_date'];
echo "</td>";
echo " <td align=\"center\" width=\"120\">";
echo $data['only_member'];
echo "</td>";
echo " <td align=\"center\" width=\"16\">"; ?>
<a href='?page=view_serial&action=delete_serial&id=<?PHP echo $data["id"];?>'>X</a>
<?PHP echo "</td>";
echo " <td align=\"center\" width=\"16\">";
echo "<a href='?page=view_serial&action=ban_serial&id=<?PHP echo $data[\'id\'];?>'>".$banned_oui_non."</a>";
echo "</td></tr>";
}
mysql_close();
?>
</table>
</div>
<?PHP } ?>
Tout l'aide que vous pouvez m'apporter sera apprécié :).
Bonne soirée.
Configuration: Windows XP Firefox 2.0.0.1
9 réponses
-
Tu peux virer le :
<?PHP } ?>
qui sert à rien à la fin. C'est peut etre ca.
Sinon, évite de couper sans arret ton script avec <?php ?> ... <?php ... ?>
Ca ne change rien si ce n'est que ca évite de faire des erreurs et c'est beaucoup plus lisible comme code.
Par exemple ce passage :echo " <td align=\"center\" width=\"16\">"; ?> <a href='?page=view_serial&action=delete_serial&id=<?PHP echo $data["id"];?>'>X</a> <?PHP echo "</td>";
deviendrais :echo " <td align=\"center\" width=\"16\">"; echo "<a href='?page=view_serial&action=delete_serial&id=".data["id"].">X</a>"; echo "</td>";
-
Salut,
Qu'entends-tu par "ne marche pas" ?
Quel est le symptôme ? Quel message d'erreur as-tu ?
Edit : oops, je me suis fait dépasser :) -
Bonjour,
if ($data['banned'] == 0) { $banned_oui_non == "Non"; } else { $banned_oui_non == "Oui"; }C'est moi qui n'ai pas les yeux ouverts ce matin, ou $data n'est pas encore défini à cet endroit-là ?
Il ne faudrait pas rappatrier ce bout de code à l'intérieur du while ? -
Exact :)
j'avais cru voir un $_POST moi :s
Comme quoi le matin c'est jamais bien pour décoder :p
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Opss., J'ai oublier une ligne au-dessus :D
C'est quelque chose du genre<?PHP if($action == "view_serial") { ?>
Désolé :)
Reivax962 :
Il faut défénir $data? je pensais que dès qu'une base de donnée avec :$sql = 'SELECT * FROM serial'; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
Sa le faisait toute seul . Oups ...
Alors sa donne :
$action a été défini par $_GET["action"];
<?PHP if($action == "view_serial") { ?> <div align="center"> <table border=\"1\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td width=\"25\" align=\"center\">ID</td> <td align=\"center\" width=\"280\">Numéro de série</td> <td align=\"center\" width=\"120\">Date d'ajout</td> <td align=\"center\" width=\"120\">Date d'expiration</td> <td align=\"center\" width=\"120\">Utilisé le</td> <td align=\"center\" width=\"120\">Seulement pour</td> <td align=\"center\" width=\"16\">X</td> <td align=\"center\" width=\"16\">Ban</td> </tr> <?php $connexion = mysql_connect("sql3.byethost9.com","b9_235027","0550137") or die(mysql_error()); $db = mysql_select_db("b9_235027_serv1") or die(mysql_error()); $sql = 'SELECT * FROM serial'; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); if ($data['banned'] == 0) { $banned_oui_non == "Non"; } else { $banned_oui_non == "Oui"; } while($data = mysql_fetch_array($req)) { echo "<tr> <td align=\"center\" width=\"25\">"; echo $data['id']; echo "</td>"; echo " <td align=\"center\" width=\"280\">"; echo $data['serial']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['added_date']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['valid_until']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['used_date']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['only_member']; echo "</td>"; echo " <td align=\"center\" width=\"16\">"; echo "<a href='?page=view_serial&action=delete_serial&id=".data["id"].">X</a>"; echo "</td>"; echo " <td align=\"center\" width=\"16\">"; echo "<a href='?page=view_serial&action=ban_serial&id=<?PHP echo $data[\'id\'];?>'>".$banned_oui_non."</a>"; echo "</td></tr>"; } mysql_close(); ?> </table> </div> <?PHP } ?>
Il n'y a pas de message d'erreur, c'est une page blanche ;) Mais quand le script marche, tous s'affiche. Mais je le modifie souvent ...-
Qaund tu écris :
if ($data['banned'] == 0) { $banned_oui_non == "Non"; } else { $banned_oui_non == "Oui"; } while($data = mysql_fetch_array($req)) { echo "<tr> <td align=\"center\" width=\"25\">"; echo $data['id']; echo "</td>"; echo " <td align=\"center\" width=\"280\">"; echo $data['serial']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['added_date']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['valid_until']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['used_date']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['only_member']; echo "</td>"; echo " <td align=\"center\" width=\"16\">"; echo "<a href='?page=view_serial&action=delete_serial&id=".data["id"].">X</a>"; echo "</td>"; echo " <td align=\"center\" width=\"16\">"; echo "<a href='?page=view_serial&action=ban_serial&id=<?PHP echo $data[\'id\'];?>'>".$banned_oui_non."</a>"; echo "</td></tr>"; }
Que remarque tu ?
Que tu utilise $data avant de l'avoir déclaré dans ton while. Ton interpréteur php ne peut pas le deviner tout seul... donc fais autrement.
Le fait que tu utilise quelque chose qui n'est pas déclaré ne passe pas. C'est surtout d'accéder à une zone mémoire non allouée et n'ayant aucune valeur qui ne va pas puisque $data est un tableau avant tout.
Donc, soit tu met le bout de code :if ($data['banned'] == 0) { $banned_oui_non == "Non"; } else { $banned_oui_non == "Oui"; }
dans ton while, soit tu fais autrement.
-
-
-
En fait, j'aimerais que lorsque la valeur dans la table pour "Banned" est activé, un Oui s'affiche et si elle est désactivé "0", elle affiche Non.
echo "<a href='?page=view_serial&action=ban_serial&id=<?PHP echo $data[\'id\'];?>'>".$banned_oui_non."</a>";
Mais j'aurais aimé ne pas passé par la variable $banned_oui_non.
Le but final est d'afficher un tableau contenant tout les serial. Si je clique dans la colone Ban, Oui, sa le "déban". Sil est marqué Non, il n'est pas bani, donc si je clique dessus ca va le bannir. Tu comprend ? C'est pas très clair mon affaire je pense.-
OK.
Voici le code qu'il faut utiliser :<?php $connexion = mysql_connect("sql3.byethost9.com","b9_235027","0550137") or die(mysql_error()); $db = mysql_select_db("b9_235027_serv1") or die(mysql_error()); $sql = 'SELECT * FROM serial'; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); while($data = mysql_fetch_array($req)) { echo "<tr> <td align=\"center\" width=\"25\">"; echo $data['id']; echo "</td>"; echo " <td align=\"center\" width=\"280\">"; echo $data['serial']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['added_date']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['valid_until']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['used_date']; echo "</td>"; echo " <td align=\"center\" width=\"120\">"; echo $data['only_member']; echo "</td>"; echo " <td align=\"center\" width=\"16\">"; echo "<a href='?page=view_serial&action=delete_serial&id=".data["id"].">X</a>"; echo "</td>"; echo " <td align=\"center\" width=\"16\">"; echo "<a href='?page=view_serial&action=ban_serial&id=<?PHP if ($data['banned'] == 0) { $banned_oui_non == "Non"; } else { $banned_oui_non == "Oui"; } echo $data[\'id\'];?>'>".$banned_oui_non."</a>"; echo "</td></tr>"; } mysql_close(); ?> -
-
-
Tien, voila la source plus haut, avec les modifications, dans un txt :
http://narksweb.byethost9.com/source.txt
Sa va être plus lisible.
Sa ne marche pas mettre ma variable dans le while. -
J'ai trouvé le bout qui coince :
echo "<a href='?page=view_serial&action=delete_serial&id=".data["id"].">X</a>";
Je l'ai enlevé pour testé et sa marche donc c'est cette ligne qui a un problème.