Page 1 sur 1

SQL + PHP

Posté : 18 juil. 2005, 21:06
par lafrite972
Slt ,
Je ne suis pas trop fort en programmation.
J'ai fais juste un petit inputbox afin qu'un utilisateur puisse entrer un articles et puisse avec le resultat qui est le stock restant dans les different magasin.
Le formulaire :

<form method="post" action="search.php3">

Entrez un articles:<br>

<input type="text" name="Mot" size="7">

<input type="submit" value="Rechercher" alt="Lancer la recherche!">

</form>

et la page search.php3 a laquel elle ramene.

<?php
$link = mysql_connect("localhost","root","");//connexion local
mysql_select_db("bata",$link);//on sélectionne la base mho
$query = "select distinct articles,mag,stock from stock";
$result = mysql_query($query,$link);//on interroge la base
$html .= "<table width='50%' border='0'><tr>
<td><b><font color=red>articles</font></b></td>
<td><b><font color=#FF0000>mag</font></b></td>
<td><b><font color=#FF0000>stock</font></b></td>
</tr>";
while ($row = mysql_fetch_array($result)){//tant que qu'il y a un enregistrement on exécute le code
$html .= "<tr>
<td>".$row["articles"]."</td>
<td>".$row["mag"]."</td>
<td>".$row["stock"]."</td>
</tr>";
}
$html .= "</table>";
echo $html; //On affiche la variable $html
mysql_free_result($result);//libération du jeux d'enregistrement
mysql_close($link);//on se déconnecte
?>


la ligne :
$query = "select distinct articles,mag,stock from stock";

me pose probleme car si dans le formulaire je tape un article :
8720004

Ca me donne le resultat de la page search.php3
je veux juste savoir comment on fais si je tape un articles dans le formulaire que j'ai le resultat dans la page search.php3

je pense que c'est au niveau de la ligne :
$query = "select distinct articles,mag,stock from stock";
que ca pose probleme j'ai rajouter where=$mot rien a faire la programmation je ne connais pas trop .

Merci de m'aider si possible.

SQL + PHP

Posté : 18 juil. 2005, 22:33
par lafrite972
Si quelqu'un a une autre solution je dis pas non merci.

Posté : 19 juil. 2005, 09:25
par mere-teresa
je veux juste savoir comment on fait si je tape un article dans le formulaire que j'ai le resultat dans la page search.php3
Ta question n'est pas très claire...tu veux savoir comment on fait si on tape un article dans le formulaire :shock: Ben on clique sur Valider.

  • Tu as testé ta requête dans PHPMyAdmin ou Eskuel ?
  • Tu as fais un schéma de flux des données ?
  • Et un schéma de séquence des actions de l'utilisateur ?
[/color]

SQL + PHP

Posté : 19 juil. 2005, 12:53
par lafrite972
Oui la requete en elle meme elle fonctionne .

Je veux que la requette traite ce que l'utilisateur tape .
Car quelque soit ce que je tape la reponse sera :
$query = "select distinct articles,mag,stock from stock"

et moi je veux le resultat de ce que moi ou autre personne entre comme donnée dans l'input text.

Voila

SQL + PHP

Posté : 19 juil. 2005, 18:31
par lafrite972
<?php
$link = mysql_connect("localhost","root","");//connexion local
mysql_select_db("bata",$link);//on sélectionne la base mho
$query = "select distinct articles,mag,stock from stock";
$result = mysql_query($query,$link);//on interroge la base
$html .= "<table width='50%' border='0'><tr>
<td><b><font color=red>articles</font></b></td>
<td><b><font color=#FF0000>mag</font></b></td>
<td><b><font color=#FF0000>stock</font></b></td>
</tr>";
while ($row = mysql_fetch_array($result)){//tant que qu'il y a un enregistrement on exécute le code
$html .= "<tr>
<td>".$row["articles"]."</td>
<td>".$row["mag"]."</td>
<td>".$row["stock"]."</td>
</tr>";
}
$html .= "</table>";
echo $html; //On affiche la variable $html
mysql_free_result($result);//libération du jeux d'enregistrement
mysql_close($link);//on se déconnecte
?>



Posté : 19 juil. 2005, 18:48
par pjl
C'est donc résolu ?

SQL + PHP

Posté : 19 juil. 2005, 19:47
par lafrite972
Non c'est pas resolu j'ai juste mis dans la balise PHP pour que se soit plus comprehensible .

Posté : 19 juil. 2005, 20:32
par Cyrano
Déjà je dirais : sépare donc le HTML du PHP, tu auras moins de problèmes d'alternance entre guillemets et apostrophes, c'Est souvent source de bugs divers:
<?php
$link = mysql_connect("localhost","root","");//connexion local
mysql_select_db("bata",$link);//on sélectionne la base mho
$query = "select distinct articles,mag,stock from stock";
$result = mysql_query($query,$link);//on interroge la base
?>
<table width="50%" border="0">
  <tr>
    <th><font color="#FF0000">articles</font></th>
    <th><font color="#FF0000">mag</font></th>
    <th><font color="#FF0000">stock</font></th>
  </tr>
<?php
while ($row = mysql_fetch_array($result))
{
    //tant que qu'il y a un enregistrement on exécute le code
?>
  <tr>
    <td><?php echo($row['articles']); ?></td>
    <td><?php echo($row['mag']); ?></td>
    <td><?php echo($row['stock']); ?></td>
  </tr>
<?php
}
?>
</table>
<?php
mysql_free_result($result);//libération du jeux d'enregistrement
mysql_close($link);//on se déconnecte
?>
Tu auras en outre une exécution plus optimisée, PHP n'ayant plus à interpréter le HTML mais exclusivement du PHP.

Essaye et reviens avec les messages d'erreur s'il y en a

SQL + PHP

Posté : 19 juil. 2005, 20:59
par lafrite972
J'ai un nouveau message d'erreur [ J'ai pas separer le code PHP de l'HTML ]

Message d'erreur suivant :

Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\wamp\www\phpnuke\search.php3 on line 11

J'avais modifier la ligne 11 justement en :

Code : Tout sélectionner

$query = "select distinct articles,mag,stock from stock where=$_POST["articles"]";
J'ai mis des simple cote aussi :
WHERE=$_post['articles']

J'obtiens le meme message d'erreur .
Que dois-je faire merci j'avance.Et il me reste que ca a faire .

Posté : 19 juil. 2005, 21:21
par ouckileou
sépare donc le HTML du PHP, tu auras moins de problèmes d'alternance entre guillemets et apostrophes, c'Est souvent source de bugs divers:
J'ai un nouveau message d'erreur [ J'ai pas separer le code PHP de l'HTML ]
on te donne un conseil pour éviter ce genre de problème, tu ne le suis pas et tu viens dire que tu as un problème...

regarde ta chaine de caractères, elle est entourée de guillemets, et au milieu tu mets un tableau avec des guillemets aussi : problème

solution : sépare les variables de la chaine de caractère, ce sera plus propre et ça évitera ce genre de problème

SQL + PHP

Posté : 19 juil. 2005, 21:37
par lafrite972
Si je savais le faire tu penses bien que je l'aurais déja fais . J'ai bien dis au debut que la programmation c'etait pas mon point fort je suis en formation pour un BTS en Option administrateur reseaux . Il ma étéz demander de faire un intranet .

J'ai déja tout mis en place Apache , Mysql ,PHP , PHPmyadmin.
La partie serveur est déja.Je dois faire un intranet pour les magasins et un pour le siége .

L'intranet pour le siége j'ai utiliser PHP nuke donc c'est pas sorcier .
Pour les magasins j'ai developper un site statique avec un legere base de donnée pour le stock dans tout les magasins.

Tout est déja fais il me reste plus que ca a faire.J'ai rencontrer d'autre probleme j'ai pu les resoudre mais celui la j'avou que je suis un peu perdu .

Je demande juste un peu d'aide pas qu'on me prenne pour un expert de la programmation sinon je serais pas la .

Au faites j'ai fais une erreur a la ligne 11 decidement j'ai rectifier :

Code : Tout sélectionner

$query = "select distinct articles,mag,stock from stock where articles='$articles'";


Cette fois plus de message d'erreur mais j'ai juste le tableau qui s'affiche mais sans les données [ Tableau vide ]

Si quelqu'un peu m'aider se serais cool .

Posté : 19 juil. 2005, 22:44
par ouckileou
utilise les concaténations variables/chaines de caractères

pour la ligne que tu avais avant, ceci aurait réglé le problème :
$query = "select distinct articles,mag,stock from stock where=".$_POST["articles"]; 
la variable est "collée" au reste de la chaine grâce au point, et donc plus de soucis de mélange entre les guillemets de chaine et ceux du tableau

essaie de faire ceci systématiquement et ça réglera pas mal de problème de ce genre

bon courage ;)

SQL + PHP

Posté : 20 juil. 2005, 18:08
par lafrite972
Voila mon probleme est résolu ca marche je suis trop content merci pour ton aide ouckileou la ligne que tu ma donné ma éclairé j'ai juste rajouter :

Code : Tout sélectionner

$query = "select distinct articles,mag,stock from stock where articles=".$_POST["articles"];


Et hop ca marche merci beaucoup .