base de donnée et menu déroulant

diabolo
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 11:35

Bonjour à tous,

J'ai créé une base de donnée comportant 12 tables 1 pour chaque mois de l'année.

J'ai ensuite créé un menu déroulant pour pouvoir sélectionnée le mois que je voudrais voir affiché sur ma page.

Pour l'insertion de donnée dans ma base pas de problème, mais pour récupérer les donnée sa ne fonctionne pas, quelqu'un pourrais me dire ce qui ne fonctionne pas dans mon code ?

Code : Tout sélectionner

<? $host = ""; $user = ""; $pass = ""; $bdd = "f"; // connection base de données @mysql_connect($host, $user, $pass) or die ("Impossible de se connecter à la base de donnée"); //selection de la base @mysql_select_db($bdd) or die ("Impossible de se connecter à la base"); $mois = $HTTP_POST_VARS["mois"]; $sql = 'SELECT * FROM '.$mois; echo $sql; mysql_close(); ?>
D'avance merci ,

diabolo

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2005, 11:37

Déjà, je te conseille d'enlever les @ car ça masque les erreurs et à la vue de tes identifiants de connexions qui sont tous = "", je pense que tu n'arrives pas à te connecter à ta bdd

Tu peut mettre des @ quand ton site est en ligne mais pas en développement vu que tu DOIT voir les erreurs pour les traiter
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

diabolo
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 11:56

Salut Zeus,

Les identifiants sont en effet vide car sa ne sert à rien de mettre mes mot de passe à la vue de tout le monde.

Pour les @ c'est vrai tu as raison sa masque quelques erreurs !

Mais j'ai la solution et je vais la donnée pour ceux que sa pourrais intéresser. Il faut rajouter ceci :

Code : Tout sélectionner

$sql = 'SELECT * FROM '.$mois; // echo $sql; $res = mysql_query($sql); while($val=mysql_fetch_array($res)) { echo $val["date"]."<br>"; }
Cette ligne :

Code : Tout sélectionner

echo $val["date"]."<br>";
permet de choisir ce que l'on veut afficher , cela évite d'afficher tout le contenu de la table comme lorsque l'on utilise :

Code : Tout sélectionner

select * from "nomDeLaTable"
diabolo

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2005, 12:07

OK, je croyais que c'était ton script qui fonctionnais avec des identifiants vides
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

diabolo
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 15:38

Pourquoi est ce que cette requête ne fonctionne pas ?
Problème de syntaxe mais où ?


Code : Tout sélectionner

//suppresion des données dans la base $mois = $_POST['mois']; $date = $_POST['date']; $titre = $_POST['titre']; mysql_query("DELETE FROM '.$mois' WHERE 'date'='.$date' and 'titre'='.$titre';"); $result=mysql_query($query) or die ("la suppression des données est impossible"); header("location:confirmationsuppresion.php");
:(

Merci pour votre aide

diabolo

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2005, 15:43

- Il ne faut pas mettre de ' autour des noms de colonnes
- Il faut un point de CHAQUE côté de $mois
- Il faut utiliser les mêmes caractères en entourant la chaines qu'en la découpant " ou ' mais pas les 2
mysql_query("DELETE FROM ".$mois." WHERE date='".$date."' and titre='".$titre."';");
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

diabolo
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 15:52

Mes erreurs de syntaxes viennent de ce que je les recopie directement de "Myadmin" et que dans ce programme même en cliquant sur source php la syntaxe n'est pas juste.

En tout cas elle fonctionne pas ! J'ai créer un formulaire pour inserer du contenu dans ma base, un autre pour afficher ce contenu et un troisième pour selectionne le contenu et l'effacer et dans les 3 cas la syntaxe proposé par phpmyadmin était fausse !!

diabolo

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2005, 16:01

Tu la sélectionne où ?

parce que SELECT * FROM '.$mois', phpMyAdmin ne sait pas le faire
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

diabolo
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 16:09

Et bien je selectionne ma table

je clic sur afficher pour voir son contenu.

je sélectionne le contenu que je veux effacer je clic sur row delete enfin je clic sur créer source php.

Après je recopie le code

:?:

diabolo

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2005, 16:13

Je savais pas qu'il déconnait si on faisait ça ...

Et la requête que je t'ai donné fonctionne ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 16:31

:cry:
non " la suppression des données est impossible"

diabolo

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2005, 16:54

Je viens de voir une erreur de syntaxe

si tes champs date et titre ne sont pas des entiers, il faut utiliser LIKE et non pas =
mysql_query("DELETE FROM ".$mois." WHERE date LIKE '".$date."' and  LIKE ='".$titre."';");
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 17:07

non désolé la suppression des données est toujours impossible

:roll:

diabolo

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2005, 17:24

Fait
echo "DELETE FROM ".$mois." WHERE date LIKE '".$date."' and  LIKE ='".$titre."';";
Et post moi le résultat
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 17:35

J'ai fais un essai avec le mois de Mai, voici le résultat

Code : Tout sélectionner

DELETE FROM mai WHERE date LIKE '25.05.2005' and LIKE ='ESSAI 2';la suppression des données est impossible.
diabolo