prob d'affichage de donner d'une bdd

Discussion dans 'Web, design' créé par FoX SpeEd, 30 Mars 2005.

Statut de la discussion:
Fermée.
  1. Offline
    FoX SpeEd Touriste
    voila chuis un peut noobie dans l'histoire mais bon g essaye un ptit script
    Code:
    <?php
    
    $langue=$_POST['langue'];
    $verberechercher=$_POST['verberechercher'];
    
    switch ($langue)
    {
        case "francais" :
        $colonne="traduction";
        break;
        
        case "nerlandais" :
        $colonne="infinitif" ;
        break;
    }
    $db = mysql_connect('localhost', 'user', 'mdp');
    mysql_select_db('no-servcom3',$db);
    
    $sql = 'SELECT * FROM tp WHERE $colonne="$verberechercher";
    $req = mysql_query($sql) or die('Erreur SQL !
    '.$sql.'
    '.mysql_error());
    while($data = mysql_fetch_array($req))
    {
    ?>
    
    <center><font size="4" color="#FF0000"><strong> <?php echo $data['infinitif']; ?> - <?php echo $data['ovt']; ?> - <?php echo $data['vtt']; ?> - <?php echo $data['traduction']; ?></strong></font></center>
      
    
    <?php
    }
    mysql_close();
    ?>
    mais le probleme est qu'il m'affiche une erreur
    et la ligne concerner est

    Code:
    $req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error());
    alors si vous savez ce ki cloche (si sa se trouve c une connerie) n'esiter pas merci![/list]
    FoX SpeEd, 30 Mars 2005
    #1
  2. Offline
    MbK_ Etudjant
    l'erreur ne se trouve pas forcément à la ligne indiquée.

    Elle peut être à la ligne avant ou apres.

    Dans ton cas, si tu avais utilisé un editeur qui colore les balises, tu aurais trouvé ta faute.

    $sql = 'SELECT * FROM tp WHERE colonne="$verberechercher" ';

    Si tu ouvres le ' tu dois le refermer :D

    edit : CA PU LE FLAMAND :D
    MbK_, 30 Mars 2005
    #2
  3. Offline
    FoX SpeEd Touriste
    lol tu voi une connerie lol
    oui j'utilise un editeur ki color c pkpcoder mais le truc c ke ca je l taper direct ds dreamweaver pour l'insere ds un tablo
    v voir si sa marche mnt et merci en tt cas
    FoX SpeEd, 30 Mars 2005
    #3
  4. Offline
    MbK_ Etudjant
    en tout cas, tu as bien peté le layout.
    MbK_, 30 Mars 2005
    #4
  5. Offline
    FoX SpeEd Touriste
    a fond lol le truc tu voi c ke c un de mes premier script tu voi donc pas trop l'habitude encore lol :wink:
    FoX SpeEd, 30 Mars 2005
    #5
  6. Offline
    MbK_ Etudjant
    ca marche ou pas?
    MbK_, 30 Mars 2005
    #6
  7. Offline
    FoX SpeEd Touriste
    en fait pas encore pcq :
    Code:
    $sql = 'SELECT * FROM tp WHERE $colonne="$verberechercher"';
    quand je tape ca il me dit que :

    donc il croit k'il doit afficher la colonne $traduction aulieu du resultat de la variable donc v un peut chercher voir comment je pourait fair mais si je remplace ca par la valeur de la variable directement g pas de probleme :wink:
    FoX SpeEd, 30 Mars 2005
    #7
  8. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    tu ne peux pas mettre de variables $... dans une chaine entourée par des guillemets simples, tu dois soit faire des concaténations, soit mette des doubles.

    Petit truc : quand il te met "unexpected T_STRING on line X" l'erreur vient très souvent de la ligne X-1 ;)
    Jereck, 30 Mars 2005
    #8
  9. Offline
    FoX SpeEd Touriste
    bon g deja essayer 36000 truc mais il me met
    alors si quelqu'un a une idee...
    FoX SpeEd, 30 Mars 2005
    #9
  10. Offline
    MbK_ Etudjant
    Code:
    $sql = 'SELECT * FROM tp WHERE $colonne="$verberechercher"';
    Mais dans ton code, comment tu fais pou avoir un champ de ta table comme variable.

    Les champs sont fixes. "$colonne" ne peut pas être une variable normalement.
    MbK_, 30 Mars 2005
    #10
  11. Offline
    FoX SpeEd Touriste
    voila je t'explike en fait c un script ki permet d'afficher le resultat d'une rechercher

    la $verberechercher est obtenue grace a input type="text"
    la $colonne est obtenue avec un bouton radio car en fait c pour rechercher et afficher les temps primitif d'un verbe si on recherche le verbe en fr alors on selectionnne le radio: Fr et donc $colonne=laa collone de mysql nome traducion, si le verbe rechercher est en flammand $colonne=la colonne mysql nomé infinitif c pour ca ki a une variable

    je c j'aurai peut etre pu le faire avec if mais bon voila koi lol en tt cas merci :wink:
    FoX SpeEd, 30 Mars 2005
    #11
  12. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    Tu as fait ça ?
    Jereck, 30 Mars 2005
    #12
  13. Offline
    FoX SpeEd Touriste
    bon vien de me rendre compte qu'en mettant le champ colonne en variable sa marche pas donc v faire ca autrement merci bcp en tt cas
    FoX SpeEd, 30 Mars 2005
    #13
  14. Offline
    Code:
    $sql = 'SELECT * FROM tp WHERE $colonne="$verberechercher"';

    c'est pas plutot:

    Code:
    $sql = 'SELECT * FROM tp WHERE $colonne="$verberecherché"';

    je :arrow:
    Jeffke_Avalon, 30 Mars 2005
    #14
  15. Offline
    FoX SpeEd Touriste
    oui mais ca va pas pcq il m'accepte pas le champ colonne en variable donc v trouver une autre solution avec
    Code:
    if ($langue==francais)
    {
    ..
    }
    elseif ($langue==nerlandais)
    {
    ...
    }
    ca devrai aller comme ca
    FoX SpeEd, 31 Mars 2005
    #15
  16. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    Code:
    $sql = 'SELECT * FROM tp WHERE ' . $colonne . '="' . $verberechercher. '"';
    Jereck, 31 Mars 2005
    #16
  17. Offline
    FoX SpeEd Touriste
    non non jeffe ca c pas graf je c c une faute d'hortographe lol mais c pas ca pcq au debut g marquer:
    Code:
    $verberechercher=$_POST['verberechercher']
    FoX SpeEd, 31 Mars 2005
    #17
  18. Offline
    Kent Touriste
    Utilise plus souvent des doubles guillement de type " plutot que ', c'est plus flexible et tu évite bien des erreurs. L'autre solition étant de mieu connaitre le PHP et de relire ton code avant de l'executer :twisted:
    Kent, 31 Mars 2005
    #18
  19. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    ouais, mais si il met sa requète entre double-" il devra échapper ses " dans sa requète ... ou mettre des simples, c'est vrai ... :p'

    Code:
    $sql = "SELECT * FROM tp WHERE $colonne=\"$verberechercher\"";
    ou
    Code:
    $sql = "SELECT * FROM tp WHERE $colonne='$verberechercher'";
    Jereck, 31 Mars 2005
    #19
  20. Offline
    FoX SpeEd Touriste
    lol merci Jereck c bien ca le probleme c surement due pcq g pas concaneter mais c pcq j'y comprend pas grand chose a la concanetation lol :roll: en tt cas mnt ca marche bien merco :wink:
    FoX SpeEd, 31 Mars 2005
    #20
Statut de la discussion:
Fermée.