cs_hitman06
Messages postés8Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention11 juin 2005
-
10 juin 2005 à 17:49
cs_hitman06
Messages postés8Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention11 juin 2005
-
11 juin 2005 à 13:58
Bonjour, j'essai de faire un script en PHP, mais je rencontre plusieurs erreurs.
Tout d'abord, pouvez-vous me dire ce qui ne va pas ici :
<select name="categorie" id="categorie">
<option></option>
<?php
include("config.php"); //avec à l'intérieur les variables $serveur, $utilisateur etc...
@mysql_connect($serveur,$utilisateur,$mdp) or die ("Echec de connexion au serveur");
@mysql_select_db("$bdd") or die("Impossible de se connecter à la base de donnée");
$requete = "SELECT Categorie FROM gestion_categories order by 'Categorie'";
$result = mysql_query($requete)
while ($resultats = mysql_fetch_array($result))
{
echo"<option value='$resultats[ID]'>'$resultats[Categorie]'</option>";
}
mysql_close
?>
</select>
Ainsi que les erreurs qu'il existe peut-être dans la portion de code suivante :
include("config.php"); //il y a à l'intérieur les variables $serveur,$utilisateur etc...
@mysql_connect($serveur,$utilisateur,$mdp) or die ("Echec de connexion au serveur");
@mysql_select_db("$bdd") or die("Impossible de se connecter à la base de donnée");
if (empty($categorie)) {
$new_cat = "INSERT INTO gestion_categories (Categorie) VALUE ('$new_categorie')";
$requete1 = mysql_query($new_cat);
}
cs_hitman06
Messages postés8Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention11 juin 2005 11 juin 2005 à 10:30
C'est bon, j'ai trouvé la solution, en fait je n'utilisais qu'une seule variable $resultat alors qu'après je réutilisais le même nom de variable avec elle même comme argument de la valeur dans la boucle.
Il fallait utiliser 2 variables :
<?php
include("config.php");
@mysql_connect($serveur,$utilisateur,$mdp) or die ("Echec de connexion au serveur");
@mysql_select_db("$bdd") or die("Impossible de se connecter à la base de donnée");
$requete = "SELECT Categorie FROM gestion_categories order by 'Categorie'";
$resultat = mysql_query($requete);
while($result = mysql_fetch_array($resultat))
{
echo "<option value='$result[ID]'>$result[Categorie]</option>";
}
mysql_close();
?>
Merci quand même de vos réponses qui m'ont permis de corriger des erreurs.
cs_hitman06
Messages postés8Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention11 juin 2005 10 juin 2005 à 23:57
En fait, j'ai réussi à supprimer les erreurs qui se trouvaient dans la 2ème portion de code comme ceci :
include("config.php");
@mysql_connect($serveur,$utilisateur,$mdp) or die ("Echec de connexion au serveur");
@mysql_select_db("$bdd") or die("Impossible de se connecter à la base de donnée");
if (empty($categorie)) {
$new_cat = "INSERT INTO gestion_categories (Categorie) VALUES ('$new_categorie')";
$requete1 = mysql_query($new_cat);
}
@mysql_connect($serveur,$utilisateur,$mdp) or die ("Echec de connexion au serveur");
@mysql_select_db("$bdd") or die("Impossible de se connecter à la base de donnée");
$requete = "SELECT Categorie FROM gestion_categories order by 'Categorie'";
$resultat = mysql_query($requete);
while($resultat = mysql_fetch_array($resultat))
{
echo "<option value='$resultat[ID]'><$resultat[Categorie];</option>";
}
mysql_close();
?>
</select>
Par contre, il reste tout de même une erreur dans cette requète Mysql, mais je ne trouve pas où.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 11 juin 2005 à 13:11
??
je reve...
Un conseil, apprends a coder proprement comme on te l'a suggere.
Par exemple, explique moi a quoi servent tes @ ? Est-ce que tu as une raison valable pour les utiliser?
Ensuite, on t'a donne de bons conseils, les guillemets par
exemple...comment ecrire du html...et meme du php. Je pense a tes
attributs html, et au non respect de l'ecriture correcte de la clef
d'un tableau associatif en php.
Bref...
Dommage que tu ne suives pas les bons conseils qui t'ont ete donnes, a
mon sens, et tu auras de nouveaux des erreurs tot ou tard a cause de ca.
cs_hitman06
Messages postés8Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention11 juin 2005 11 juin 2005 à 13:58
Les @ servent à éviter qu'une erreur s'affiche lorsqu'une requète comporte des erreurs. C'est vrai qu'ils ne sont pas nécessaires.
Ensuite pour les guillemets, utiliser ' au lieu de " car c'est plus rapide. Mais plus rapide à quoi, à écrire ? Je ne vois pas la différence, par contre si cela est vraiment mieux c'est sur que je fais une erreur.
Tout simplement car c'est plus léger de ma façon, et surtout car tu as fait des erreurs (en rouge) et que je n'avais pas l'envie de les corriger, j'ai alors tout simplement repris l'écriture que j'avais déjà faite qui elle n'en comportait pas (tout du moins pas dans sa forme, c'était juste les variables).
Par contre il est vrai que dans certains cas il est mieux d'utiliser cette méthode pour ne pas être embetté dans l'ouverture et la fermeture de guillemets avec ceux de echo "";
Je ne me suis pas servi de cette méthode mais ça ne veut pas dire que je n'ai pas tenu compte de vos conseils.