Probleme php => Mysql

Résolu
cs_stegano Messages postés 16 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 26 juin 2006 - 26 juin 2006 à 13:28
cs_stegano Messages postés 16 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 26 juin 2006 - 26 juin 2006 à 15:06
Bonjour je voudrai simplement savoir pourquoi ce script ne fonctionne pas ...
Il est tout simple car je debute, j'ai creer manuellement la table article dans la base de donné
mais rien ne se passe.
Je vous remerçie par avance de votre aide.


<?php

function db_lire_lignes_dans_tableau($requete){
$ok(($connexion mysql_connect()) != FALSE);
if($ok){
$ok= mysql_select_db("Hardcoeur",$connection);
}
if($ok){
$ok(($resultat mysql_query($requete))!=FALSE);
}
$tableau= array();
if($ok){
while ($ligne = mysql_fetch_assoc($resultat)){
$tableau[]=$ligne;
}
}
return ($ok)?$tableau:FALSE;
}

function AfficherArticles(){
$requete ="SELECT * FROM articles";
$articles=db_lire_lignes_dans_tableau($requete);
if ($articles){
echo "Liste des articles :
";
foreach($articles as $a){
echo "$a[identifiant] - $a[libelle] - $a[prix]
";
}
}else {
echo " Plus d'articles.
";
}
}

AfficherArticles();
$requete = "INSERT INTO articles (libelle,prix) VALUES ('POMMES',29.9)";
$resultat = mysql_query("Hardcoeur",$requete);
$identifiant = mysql_insert_id();
echo "identifiant du nouvel article = $identifiant.
";
$requete "UPDATE articles SET prix= prix *1.1 WHERE prix <40";
$resultat = mysql_query($requete);
$nombre = mysql_affected_rows();
echo "$nombre articles augmenté.
";
AfficherArticles();
?>

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juin 2006 à 14:29
Bon, j'ai pas tout corrigé...j'aio juste fait en sorte que ça marche.
Mais tu devrais plus t'appliquer...;-)
Et puis, le fonctionnement, à mon avis, n'est pas bon.

<?php


function db_lire_lignes_dans_tableau($requete){$ok(($connexion mysql_connect('localhost', 'root', 'pwd')) != FALSE);
if($ok){
$ok= mysql_select_db("Hardcoeur",$connexion);
}
if($ok){$ok(($resultat mysql_query($requete))!=FALSE);
}
$tableau= array();
if($ok){
while ($ligne = mysql_fetch_assoc($resultat)){
$tableau[]=$ligne;
}
}
mysql_close ($connexion);
return ($ok)?$tableau:FALSE;
}


function AfficherArticles(){
$requete ="SELECT * FROM articles";
$articles=db_lire_lignes_dans_tableau($requete);
if ($articles){
echo " Liste des articles :
";
foreach($articles as $a){
echo $a['id'], ' - ', $a['libelle'], ' - ', $a['prix'], '
';
}
}else {
echo "Plus d'articles.
";
}
}


AfficherArticles();
mysql_connect('localhost', 'root', 'pwd');
mysql_select_db ('Hardcoeur');
$requete = "INSERT INTO articles (libelle,prix) VALUES ('POMMES',29.9)";
$resultat = mysql_query($requete);
$identifiant = mysql_insert_id();
mysql_close ();
echo "identifiant du nouvel article = $identifiant.
";
$requete = "UPDATE articles SET prix= prix *1.1 WHERE prix <40";
mysql_connect('localhost', 'root', 'pwd');
mysql_select_db ('Hardcoeur');
$resultat = mysql_query($requete) or die (mysql_error ());
$nombre = mysql_affected_rows();
echo "$nombre articles augmenté.
";
mysql_close ();
AfficherArticles();
?>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juin 2006 à 13:31
Hello,

quel script?
0
cs_stegano Messages postés 16 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 26 juin 2006
26 juin 2006 à 13:32
Je ne sais pas comment editer un message bon je repete ...

Bonjour je voudrai simplement savoir pourquoi ce script ne fonctionne pas ... Il est tout simple car je debute, j'ai creer manuellement la table article dans la base de donné mais rien ne se passe. Je vous remerçie par avance de votre aide

<?php

function db_lire_lignes_dans_tableau($requete){
$ok(($connexion mysql_connect()) != FALSE);
if($ok){
$ok= mysql_select_db("Hardcoeur",$connection);
}
if($ok){
$ok(($resultat mysql_query($requete))!=FALSE);
}
$tableau= array();
if($ok){
while ($ligne = mysql_fetch_assoc($resultat)){
$tableau[]=$ligne;
}
}
return ($ok)?$tableau:FALSE;
}

function AfficherArticles(){
$requete ="SELECT * FROM articles";
$articles=db_lire_lignes_dans_tableau($requete);
if ($articles){
echo " Liste des articles :
";
foreach($articles as $a){
echo "$a[identifiant] - $a[libelle] - $a[prix]
";
}
}else {
echo "Plus d'articles.
";
}
}

AfficherArticles();
$requete = "INSERT INTO articles (libelle,prix) VALUES ('POMMES',29.9)";
$resultat = mysql_query("Hardcoeur",$requete);
$identifiant = mysql_insert_id();
echo "identifiant du nouvel article = $identifiant.
";
$requete "UPDATE articles SET prix= prix *1.1 WHERE prix <40";
$resultat = mysql_query($requete);
$nombre = mysql_affected_rows();
echo "$nombre articles augmenté.
";
AfficherArticles();
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juin 2006 à 13:51
1 - tu fais un mysql_connect () sans paramètre. Es-tu sûr de ce que tu fais...?
2 - on met des apostrophes pour délimiter les index d'un tableau associatif.

Bref, à mon avis, c'est un problème de connexion. Ajoute des or die (mysql_error())à chacune de tes fonctions mysql,; tu verras vite pourquoi il râle.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_stegano Messages postés 16 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 26 juin 2006
26 juin 2006 à 14:07
oui pour le mysql_connect je le fai en local donc j'ai juste besoin des valeur par defaut.

pour le tableau associatif j'ai corrigé mais ca ne change rien.

tu as raison je vai integrer une gestion des erreurs ... merci pour ta reponse plus que rapide :)
0
cs_stegano Messages postés 16 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 26 juin 2006
26 juin 2006 à 14:35
Je te remerçie ça fonctionne :)
je regarde maitnenant ce que tu as corrigé :)
pour le fonctionnement c'est sans doute normal car c'etait juste un test, j'integrerai ceci dans un formulaire dynamique dans une page d'administration pour une vente de t-shirt donc pas de pomme :-p

je te remercie pour ton aide :-)
merci merci merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juin 2006 à 14:47
Non, je parlais de la structure générale de ton bin's.
On gagne généralement à utiliser une classe d'abstraction de bdd (il y en a de très bonnes sur ce site, regarde les codes du membre FhX notamment).
Créer des fonctions spécifiques à l'affichage d'une table est inutile à mon sens. Avec tes 2 fonctions, ce que tu fais c'est :
- parcourir les résultats d'une requête (tous) pour les stocker dans un tableau
- parcourir ce tableau pour l'afficher.

Tu parcours 2 fois la même chose.
0
cs_stegano Messages postés 16 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 26 juin 2006
26 juin 2006 à 15:06
Hum d'accord.
je vien de voir la source de fhx.
mais d'abord faudrai que je me perfectionne en php ^^,
parce que je ne vois pas à quoi cela sert.

merci pour ton aide :)
0
Rejoignez-nous