Vraiment au secours!!!!

shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010 - 10 nov. 2009 à 08:47
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 10 nov. 2009 à 17:15
j'ai un gros probleme,cela fait pratiquement 2 ans je ai arrete de programmer.je viens de reprendre pour la creation d'iun site internet.
je ne reussis plus a faire des pages de recherches et de resultats.
dans ma page de recherche,jai un input text que j'utilise je le nomme avoir
et dans mon page resultat je fais une requete tel que
$req=mysql_query(" SELECT * FROM Product WHERE idavoir = "$avoir"");
je precise avant j'utilisais EasyPHP 1.6 mais maintenant j'utilise EasyPhp 1.8 a cause des bugs que j'ai eu lorsque je l'ai installe.
Merci de votre reponse je suis .
repondez moi merci
je ne comprends plus rien.

15 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 nov. 2009 à 10:39
BONJOUR

j'ai un gros probleme

En l'occurrence ton plus gros problème pour le moment et de ne pas le préciser :
- où est le code ?
- y a t il une erreur générée ?
- etc ...

Dans l'état actuel il est impossible de te répondre.


Kohntark -
0
shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010
10 nov. 2009 à 11:54
merci.
j'utilise PHP 4 maintenant.
l'idée est de faire une recherche dans ma base de données sur une page et obtenir le résultat dans une autre frame.
la page de recherche a le formulaire suivant et code:
<form action= "Trackok2.php" enctype="multipart/form-data" name="formtrack1" target="_blank" id="formtrack1">


le nom du champ est seektrack.
dans le formulaire de résultat je veux tout d'abord avoir en titre le texte écrit et a la suite le listage des elements trouves dans la base de donnees.
voila
<?
$req mysql_query( " SELECT * FROM Product WHERE idtrack"$seektrack"");
if(!$req) die ("erreur");
$seektrack=mysql_result($req,0,"idtrack");
$Item=mysql_result($req,0,"item");
echo(" $Item
");
?>
Country |
Item |
Description |
Weight |
Arrival Time |
Departure Time |
Remarks |

<?

$req1 =mysql_query(\"select * from product where idtrack=\\"$seektrack\\"\");
$i=0;
$nb1=mysql_num_rows($req1);
while($nb1>$i)
{
$ITEM=mysql_result($req1,$i,\"item\");
$DESCRIPTION=mysql_result($req1,$i,\"description\");
$WEIGHT=mysql_result($req1,$i,\"weight\");
$IDTRACK=mysql_result($req1,$i,\"idtrack\");
$req2=mysql_query(\"select * from tracker where idtrack=\\"$IDTRACK\\"\");
$j=0;
$nb2=mysql_num_rows($req2);
while($nb2>$j)
{
$IDCOUNTRY=mysql_result($req2,$j,\"idcountry\");
$DESCRIPTION=mysql_result($req2,$j,\"description\");
$ARIVTIME=mysql_result($req2,$j,\"arivtime\");
$DEPARTIME=mysql_result($req2,$j,\"departime\");
$REMARKS=mysql_result($req2,$j,\"remarks\");
$req3=mysql_query(\"select * from country where idcountry=\\"$IDCOUNTRY\\"\");
$j=0;
$nb3=mysql_num_rows($req3);
while($nb3>$k)
{
$COUNTRYNAME=mysql_result($req3,$k,\"countryname\");
$k++;
}
$j++;
}
echo(\"----

$COUNTRYNAME,
$ITEM,
$DESCRIPTION,
$WEIGHT,
$ARIVTIME,
$DEPARTIME,
$REMARKS,
\");
$i++;
}
?>


Voila le code et merci encore
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 nov. 2009 à 12:26
j'utilise PHP 4 maintenant.

Tu as quelques décennies de retard

Qu'est ce qui ne fonctionne pas au juste ? (tableau vide, cellules vides, ...)

Je me répète :
- y a t il une erreur générée ?

Oui, sans doute, ici par exemple :
$req mysql_query( " SELECT * FROM Product WHERE idtrack \ "$seektrack"");

Le tag d'ouverture php s'écrit <?php (et non <?)

Il faudrait que tu revois ta structure au niveau des 3 while imbriqués : c'est très lent, c'est source de bugs et c'est pas bô

Tu devrais n'avoir qu'une seule requête SQL et par conséquent qu'un seul while.
A voir : http://dev.mysql.com/doc/refman/5.0/fr/join.html

Tu gagnerai en lisibilité en supprimant les mysql_result :

while($result  = mysql_fetch_array($req1)) {
   $IDCOUNTRY = $result[2];
   [...]



Cordialement,

NB : pense à indenter ton code et à utiliser l'icône de la textbox, ça n'en sera que plus lisible

Kohntark -
0
shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010
10 nov. 2009 à 13:19
effectivement,il y a une erreur générée,surtout sur la ligne suivante

$req mysql_query( " SELECT * FROM Product WHERE idtrack"$seektrack"");

l'erreur est:undefined variable seektrack.
0

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

Posez votre question
ensto28 Messages postés 87 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 23 mars 2011
10 nov. 2009 à 13:31
slt
essai d'utiliser ca
select nomtable.* from nomtable where champs=".$identificateur.";
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 nov. 2009 à 13:55
undefined variable seektrack.

Soit, in French : la variable $seektrack n'est pas définie

Nous ne sommes plus, depuis des lustres, en PHP3, et la directive register_globals est à off par défaut depuis longtemps.
Je t'invite à lire http://fr2.php.net/manual/fr/security.globals.php pour une meilleure compréhension et à ajouter :
$seektrack = mysql_real_escape_string($_POST['seektrack']);


Cordialement,


Kohntark -
0
shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010
10 nov. 2009 à 15:13
ooooooooooohhhhhhhhhhhhhhhhhhh
voila le code aue j'ai pu concote avec un copier/coller avec ce que j'ai recu de toi:
$seektrack=mysql_real_escape_string($_POST['seektrack']);
$req=mysql_query("SELECT product.* FROM product where idtrack = ".$seektrack."");

maintenant l'erreur est devenue
Notice: Undefined index: seektrack in c:\easyphp1-8\www\romeo\...php on line...
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 nov. 2009 à 15:52
Notice: Undefined index: seektrack in c:\easyphp1-8\www\romeo\...php on line...

heu, on line ... quelle ligne ?
Pour le coup je crois savoir mais pense à l'indiquer en surbrillance dans le code qui va bien.

Soit, in French : l'index seektrack du tableau $_POST n'est pas défini.
En l'occurrence il est fort probable qu'il y ait un problème au niveau du formulaire.
Pour t'en assurer fais un :
print_r($_POST);

avant la définition de $seektrack. Cela te permettra de voir toutes les données qui ont été postées au script, l'index seektrack doit s'y trouver.

A voir également :
http://fr2.php.net/manual/fr/reserved.variables.post.php
http://fr2.php.net/manual/fr/language.variables.external.php

Et remplace ta requête par :
if (false $req mysql_query("SELECT * FROM Product WHERE idtrack ='$seektrack'")) die ('erreur lors de la requête : '.mysql_error()); 



Cordialement,

Kohntark -
0
shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010
10 nov. 2009 à 15:53
je crois que ca avance mais avec ce code je crois qu'il ne ressort pas le contenu de $req avec ce code,mais il'affiche plutot Erreur qui se trouve dans le code suivant:
$seektrack= mysql_real_escape_string($_POST['seektrack']);
$req=mysql_query("SELECT product.* FROM product where idtrack = ".$seektrack."");
if(!$req) die (" Erreur ");
$seektrack =mysql_result($req,0,"idtrack");
$item=mysql_result($req,0,"item");

ca veut dire que si $req est bien ecrit alors il ne retrouve aucune similitude dans la base de donnees.
Merci de me repondre pour finir aussi.
Second probleme comment afficher les attributs de la table c'est a dire(idtrack et item)?

Merci
0
shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010
10 nov. 2009 à 16:00
lorsque je saisis la commande
print_r($_POST)
resultat:
Array ( [seektrack] => AEL0000001 [Submit] => Track ) Erreur
ca veut dire que la variable arrive vraiment au formulaire de résultat mais l'erreur y est toujours presente
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 nov. 2009 à 16:36
Je me répète :

Et remplace ta requête par :
Code PHP :

if (false $req mysql_query("SELECT * FROM Product WHERE idtrack ='$seektrack'")) die ('erreur lors de la requête : '.mysql_error());


Quelle est l'erreur exacte ?



Kohntark -
0
shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010
10 nov. 2009 à 16:42
message suivant:
erreur lors de la requête : No database selected

la je ne comprends plus rien.il n'arrive pas a entrer dans la base de donnees
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 nov. 2009 à 17:05
soit in French : pas de base de données sélectionnée
"php No database selected" dans google donne 159 000 000 résultats, les premiers donnant sans doute la réponse.
... juste pour te dire qu'il serait bien que tu cherches un peu toi aussi !!
n'oublie pas que ce problème te concerne.

Regarde donc du côté de la connexion que tu fais à la DB (mysql_connect, mysql_select_DB)


Cordialement,


Kohntark -
0
shakyk Messages postés 21 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 13 juin 2010
10 nov. 2009 à 17:11
c'est l'erreur je crois la plus stupide que j'etais entrain de faire.
jai utilise le nom de la connexion comme base de donnees.
merci beaucoup pour ton aide je te tiens informer pour d'autres precisions.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
10 nov. 2009 à 17:15
heureux de voir que je ne suis pas le seul à faire des erreurs stupides.

Bon courage,


Kohntark -
0
Rejoignez-nous