prob d'affichage de donner d'une bdd

Statut
N'est pas ouverte pour d'autres réponses.

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
Parse error: parse error, unexpected T_STRING in /home/www/e53af6ad6e3d11fe16629fd1751d82c2/users/foxspeed/web/hoofdtijden/index.php on line 63
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]
 

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
 
1er
OP
FoX SpeEd

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
 

MbK_

Etudjant
FoX SpeEd a dit:
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
en tout cas, tu as bien peté le layout.
 
1er
OP
FoX SpeEd

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:
 

MbK_

Etudjant
ca marche ou pas?
 
1er
OP
FoX SpeEd

FoX SpeEd

Touriste
en fait pas encore pcq :
Code:
$sql = 'SELECT * FROM tp WHERE $colonne="$verberechercher"';
quand je tape ca il me dit que :

Erreur SQL !SELECT * FROM tp WHERE $colonne="$verberechercher"Unknown column '$verberechercher' in 'where clause'
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:
 

Jereck

Α & Ω
Staff
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 ;)
 
1er
OP
FoX SpeEd

FoX SpeEd

Touriste
bon g deja essayer 36000 truc mais il me met
la syntaxe que vous utiliser n'est pas valide pour cette requete MySql ou un truc comme ca
alors si quelqu'un a une idee...
 

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.
 
1er
OP
FoX SpeEd

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:
 

Jereck

Α & Ω
Staff
Jereck a dit:
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 ;)
Tu as fait ça ?
 
1er
OP
FoX SpeEd

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
 
Code:
$sql = 'SELECT * FROM tp WHERE $colonne="$verberechercher"';

c'est pas plutot:

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

je :arrow:
 
1er
OP
FoX SpeEd

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
 

Jereck

Α & Ω
Staff
FoX SpeEd a dit:
Code:
$sql = 'SELECT * FROM tp WHERE $colonne="$verberechercher"';
Code:
$sql = 'SELECT * FROM tp WHERE ' . $colonne . '="' . $verberechercher. '"';
 
1er
OP
FoX SpeEd

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']
 

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:
 

Jereck

Α & Ω
Staff
Ze Kastor a dit:
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 :twisted:
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 ... ^^'

Code:
$sql = "SELECT * FROM tp WHERE $colonne=\"$verberechercher\"";
ou
Code:
$sql = "SELECT * FROM tp WHERE $colonne='$verberechercher'";
 
1er
OP
FoX SpeEd

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:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut