Comment envoyez une requête sql d'une page php vers une autre

Fermé
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014 - 25 janv. 2014 à 13:58
 Utilisateur anonyme - 19 févr. 2014 à 17:21
Bonjour tout le monde, je suis sur un projet de recherche(dans une page)
puis affichage du contenu d'une base de données(dans une autre page).
en fait la recherche se fait dans la page index.php où
j'ai mis un formulaire de recherche,voici l'entête de mon formulaire:

<form id="monform" name="form1" method="post" enctype="multipart/form-data"
action="resultat.php">

resultat.php c'est le fichier où doit s'affiché le resultat de ma recherche
(du requête envoiyé ds la BDD) fait dans index.php. et là bas j'ai utilisé les
mêmes variables que dans l'index.php,dans les deux pages je suis connecté
dans la même BDD. Voici une partie de mon code:


<?php
$connexion=mysql_connect("localhost","root","")
or die ('Erreur : '.mysql_error() );
mysql_select_db("pubongo" ) or die ('Erreur : '.mysql_error() );




(---Envoi de la requete dans la BDD, ça se passe dans resultat.php--)
if(isset($_POST['bouton']))
{
$requete="SELECT nombout,arrond,prix
FROM article WHERE (nomprod='".$_GET['nomprod']."')AND
(nomville='".$_GET['ville']."')AND (type='".$_GET['type']."')AND
(prix='".$_GET['prix']."')AND
(prix<='".$_GET['prix']."')"; $resultat=mysql_query($requete)
or die(mysql_error()."\n".$requete);
}(---Envoi de la requete dans la BDD--)


(---Envoi de la requete dans la BDD, ça se passe dans resultat.php--)
//--------------requête solde
$requete4="SELECT statut FROM article WHERE
(nomprod='".$_GET['article']."')AND (statut='solde')";
$resultat4=mysql_query($requete4);
//--------------requête photo
$requete5="SELECT photo FROM boutique ,article WHERE
(boutique.nomprod='".$_GET['article']."')AND (boutique.nombout= article.nombout)
AND (boutique.type=article.type)";
$resultat5=mysql_query($requete5) or die(mysql_error()."\n".$requete5);

?>(---Envoi de la requete dans la BDD, ça se passe dans resultat.php--)



(---affichage du nom recherché, ça se passe dans resultat.php--)
<?php
$artile=mysql_fetch_array($resultat);
echo"Voici la liste vendant:"
.$article['nomprod'];"à" .$article['nomville'];

?>
(---affichage du tableau, ça se passe dans resultat.php--)
<table width="500" border="1" cellspacing="0" cellpadding="5">
<tr>
<td><strong>Boutique</strong></td>
<td><strong>Prix</strong></td>
<td><strong>Arrondissement</strong></td>
<td><strong>L'addresse</strong></td>
</tr>
<?php while($articles=mysql_fetch_array($resultat) &&
$artis=mysql_fetch_array($resultat5) ){
mysql_free_result($resultat);
mysql_free_result($resultat5);?>

<tr>
<td><?php echo $articles['nombout']; ?></td>
<td><?php echo $articles['prix']; ?></td>
<td><?php echo $articles['arrond']; ?></td>
<td><a href="<?php echo $artis['photo']; ?>" "rel="Shadowbox" >Voir</a></td>
</tr>
<?php } ?>
</table>
(---affichage du tableau, ça se passe dans resultat.php--)


Mon probleme c'est que lorsque j'envoie ma requête depuis la page index,
dans la page resultat.php, il affiche juste mes ecris mais pas le contenu
de la BDD, voilà ce k'il affiche:
Voici la liste des boutiques vendant:
(Boutique Prix Arrondissement L'addresse) en forme de tableau

Est-ce le fait de mettre action="resultat.php" dans mon formulaire celà permet automatiquement
l'envoi d'une requête(depuis index.php),le traitement puis l'affichage
dans resultat.php.? ou bien il ya autre chose à faire, si c'est le cas,
comment dois-je procédé? est-ce que rien qu'avec le php je peux y arrivé? est-ce possible avec AJAX, si c'est le cas, comment puis je faire?
ou bien il ya une erreur dans mon code?
Un gd merci par avance
A voir également:

9 réponses

stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
4 févr. 2014 à 11:49
Bonjour l'ami,
On peut le faire en php comme on le faire également avec du Ajax(encore plus souple).
Je pense que ton code n'est pas totalement erroné,juste une petite correction qu'il faut faire.
Au faite dans ta page index.php tu as utilisé la methode="post" pour la récupération des informations(les critéres de recherche) saisie par l'utilisateur mais le problème est que au niveau de ta récuperation des informations dans la page resultat.php tu utilise plutôt des $_GET[] au lieu de $_POST['nom_zone_champ_formulaire'].
Essaie de faire un echo $_GET['ville'];(je pense que sa n'affichera rien du tout).
Je pense que sa doit être un problème de récupération des données dans la page resultat.php.
Je te conseil d'utiliser $_POST['nom_zone_champ_formulaire'] pour récupérer tes données dans la page resultat.php.(par exemple $_POST['ville'] etc)

NB: le fait de mettre dans la balise <form action='resultat.php'> le nom de la page cible c'est à dire la page dans laquelle ou tu fera tes traitements te permet de récupérer toutes tes données saisie par l'utilisateur dans ta page index.php et de faire des requêtes et affichage.

Excellente journée l'ami
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
11 févr. 2014 à 10:59
Merci pour le conseil, j'ai modifié mais cette fois çi le nom du produit et la ville selectionnés s'affiche mais le tableau ne s'affiche toujours pas,

Qui peut me venir en aide, s'il vous plait
0
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
11 févr. 2014 à 11:14
salut, je pense que tu as un problème de récupération des données dans ton fichier resultat.php.
Est ce que tu m'afficher ton formulaire en entier pour que je te montre comment on fais les récupérations.
0
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
Modifié par stgcici le 11/02/2014 à 11:37
En plus essais d'afficher le contenu de tes variables suivantes avec des echo voir si elles contiennent des données:
$_GET['nomprod']
$_GET['ville']
$_GET['type']
$_GET['prix'];
$_GET['prix'];


En ce qui concerne l'affichage dans le tableau voila ce qu'il faut faire:

<table width="500" border="1" cellspacing="0" cellpadding="5">
<tr>
<td><strong>Boutique</strong></td>
<td><strong>Prix</strong></td>
<td><strong>Arrondissement</strong></td>
<td><strong>L'addresse</strong></td>
</tr>
<?php while($articles=mysql_fetch_array($resultat) &&
$artis=mysql_fetch_array($resultat5) ){
mysql_free_result($resultat);
mysql_free_result($resultat5);

echo '<tr>';
echo '<td>.$articles['nombout'].</td>
<td>.$articles['prix'].</td>
<td>.$articles['arrond'].</td>';
echo '<td>';
echo '<a href=".$artis['photo']." "rel="Shadowbox">Voir</a></td>';
}
echo '</tr>';
?>
</table>
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
12 févr. 2014 à 12:13
Merci, je vais essayé, après je te donne la suite
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
13 févr. 2014 à 09:32
Bonjour mon cher, merci pour ton aide continuel
j'ai essayé de reproduire ta proposition(en passant je travaille sur dreamwear), il me signal des erreurs au niveau:
echo '<td>.$articles['nombout'].</td>
et
echo '<a href=".$artis['photo']." "rel="Shadowbox">Voir</a></td>';
j'essai de corrigé mais je ne me retrouve pas, peut-tu m'aidé?
0
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
13 févr. 2014 à 17:11
Bonjour,désolé pour le retard de la réponse.
Essais ce code:
<?php
echo("<table width='500' border='1' cellspacing='0' cellpadding='5'>");
echo("<tr>");
echo("<td><strong>Boutique</strong></td>");
echo("<td><strong>Prix</strong></td>");
echo("<td><strong>Arrondissement</strong></td>");
echo("<td><strong>L'addresse</strong></td>");
echo("</tr>");
while($articles=mysql_fetch_array($resultat) &&
$artis=mysql_fetch_array($resultat5) ){
mysql_free_result($resultat);
mysql_free_result($resultat5);
echo("<tr>");
echo("<td>".$articles['nombout']."</td>");
echo ("<td>".$articles['prix']."</td>");
echo ("<td>".$articles['arrond']."</td>");
echo("<td><a href=".$articles['photo']." rel='Shadowbox'>Voir</a></td>");
}
echo("</tr>");
echo("</table>");
?>
Sa doit marché maintenant.
Excellente soirée
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
15 févr. 2014 à 13:48
Bonjour mon chèr stgcici, j'ai essayé avec le code que tu m'a donné mais, le problème semble persisté: il affiche bien ça:
echo"Voici la liste vendant:"
.$article['nomprod'];"à" .$article['nomville'];

mais le contenu du tableau, il affiche juste les titres mais pas le contenu
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
15 févr. 2014 à 13:49
vraiment si tu peux m'aider
Merci d'avance
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
17 févr. 2014 à 14:52
Est ce plus simple avec AJAX, si cè le cas, peut tu m'aider pour le faire?
Merci d'avance
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
18 févr. 2014 à 15:28
effectivement, je pense ke les variables ne retournent rien voilà pourkoi rien ne s'affiche, là je fait ce ke tu m'a conseillé
0

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

Posez votre question
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
18 févr. 2014 à 15:43
Oui tu as raison j'ai testé ta suggestion, voilà la nouvelle syntaxe que je fais pour la requête( depuis 4 jours, et ça ne revoi toujours rien) depuis la page index:

if(isset($_POST['bouton']))
{
$nomprod= htmlentities($_POST['nomprod']);
$prix=htmlentities($_POST['prix']);
$vile=htmlentities($_POST['nomville']);
$boutik=htmlentities($_POST['type']);


$requete= "SELECT nombout,arrond,prix
FROM article WHERE '".$nomprod."'=nomprod AND
'".$vile."'=nomville AND '".$boutik."'=type AND
'".$prix."'=prix AND '".$prix."'<=prix ";
$resultat=mysql_query($requete) or die(mysql_error()."\n".$requete) ;
}
0
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
18 févr. 2014 à 16:07
ok.
As tu fais des echo pour s'assurer de la recuperations des valeurs dans les variables que tu recuperes au niveau du formulaire?
Essais d'afficher et dit ce qui est affiché:
echo $nomprod;
echo $vile;
echo $boutik;

peux tu m'afficher le code de ta page index?c'est à dire le code de ton formulaire.
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
19 févr. 2014 à 14:54
voici le code de mon formulaire


<form id="monform" name="form1" method="post" action="resultat.php">


<strong>Votre Ville</strong>
<div class="art-blockcontent"><p>
<label>
<select name="nomville" id="ville"><?php

while($familles=mysql_fetch_array($resultat2)) { ?>

<option> <?php echo $familles['nomville']; ?></option>
<?php } ?>
</select></label>
<br></p></div>




<strong>Type de Boutique</strong>
<div class="art-blockcontent"><p>
<label>
<select name="type" id="boutique"> <?php while($famille=mysql_fetch_array($resultat3)) { ?>
<option> <?php echo $famille['type']; ?></option>
<?php } ?>
</select></label>
<br></p></div>

<strong>Article</strong>

<div class="art-blockcontent"><p><input type="text" name="nomprod" value="<?php if(isset($_GET['nomprod'])) echo $_GET['nomprod']; ?>"></p><br></div>

<strong>Prix</strong>
<div class="art-blockcontent"><p><input type="text" name="prix" value="<?php if(isset($_POST['prix'])) echo $_POST['prix']; ?>"/><br>
<label><input type="submit" name="bouton" value="GO" class="art-button"/></label><br></p></div>
</form>



voici le code du formulaire
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
19 févr. 2014 à 15:25
j'ai essayé, le constat c'est que seuls les données que j'envoie à partir du formaulaire qui s'affiche , le contenu de ma base de données de ne s'affiche pas
0
Utilisateur anonyme
19 févr. 2014 à 17:21
Bonjour

Es-tu conscient qu'avec ta condition
'".$prix."'=prix AND '".$prix."'<=prix "
tu ne vas accepter que les lignes où le prix est exact ?
Et que si tu enlèves le '$prix'= prix, tu ne vas garder que les boutiques où le produit est PLUS cher que celui indiqué dans le formulaire ?
0