Php et mysql dans une fonction javascript
Fermé
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
-
16 avril 2008 à 23:21
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 23 mai 2008 à 13:21
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 23 mai 2008 à 13:21
A voir également:
- Javascript et mysql
- Telecharger javascript - Télécharger - Langages
- Mysql community server - Télécharger - Bases de données
- Node.js javascript runtime virus ✓ - Forum Virus
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
29 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
23 avril 2008 à 08:54
23 avril 2008 à 08:54
salut,
oups, j'avais pas vu !
il y a des choses que je ne comprends pas.
oups, j'avais pas vu !
il y a des choses que je ne comprends pas.
<?php session_start(); mysql_connect('localhost','root') or die(mysql_error()); mysql_select_db('applicatif') or die(mysql_error()); if(isset($_POST) &&!empty($_POST['reference']) ) { $ref = $_POST['reference']; $sql = "select * from produit where ref='".$ref."' " ; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); if( mysql_numrows( $req ) > 0 ) { $donnees = mysql_fetch_array($req); //il n'y a forcement qu'un résultat, pas de boucle } $designation = $donnees['designation']; // si tu prends tout dans le $_POST, à quoi sert d'interroger la BDD ??? $ref = $_POST['reference']; // en plus, les vraiables ne servent à rien puisque tu ne les réutilises pas $qte = $_POST['qte']; $taille=$_POST['taille']; $_SESSION['achats'][] = array('ref' => $_POST['reference'],'qte' => $_POST['qte'],'taille'=>$_POST['taille'],'designation'=>$_POST['designation']); } echo "<br>"; $i = 0; echo "<table border=1 cellspacing=0 cellpadding=0 bordercolor=black>"; echo "<tr>"; echo "<td width=100> Références</td>"; echo "<td width=50> Taille</td>"; echo "<td width=50> Quantité</td>"; echo"<td width=60> Designation</td>"; echo "</tr>"; foreach( $_SESSION['achats'] as $achat ) // utilise foreach() c'est beaucoup plus simple { echo "<tr>"; echo "<td>".$achat['ref']."</td>"; echo "<td>".$achat['taille']."</td>"; echo "<td>".$achat['qte'] ."</td>"; echo "<td>".$achat['designation']."</td>"; echo "</tr>"; } echo "</table>"; echo "<a href=test.php?action=destroy>Détruire les sessions</a>"; } ?>
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
1
24 avril 2008 à 03:20
24 avril 2008 à 03:20
salut , enfin un résultat qui me remonte le moral , désormais il y a l'affichage de la référence , de la taille et de la quantité , pour ce qui est de la désignation ,elle s'affiche , mais le problème c'est que ça s'affiche pas dans le même tableau que les autres , c'est a dire ça s'affiche au dessus du tableau et une fois je cherche une autre référence ça change ( la référence déjà affiché ne reste pas elle disparait et laisse place a la nouvelle )je pense que le problème vient de cette partie du script
Merci si tu arrive a trouver l'erreur et le moyen de sauvegarder la designation dans le tableau comme le reste, 100000000000merci en tout les cas
$i = 0; echo "<table border=1 cellspacing=0 cellpadding=0 bordercolor=black>"; echo "<tr>"; echo $donnees['designation']; // voila la partie en question echo "<td width=100> Références</td>"; echo "<td width=50> Taille</td>"; echo "<td width=50> Quantité</td>"; echo"<td width=60> Designation</td>"; echo "</tr>"; foreach( $_SESSION['achats'] as $achats ) // utilise foreach() c'est beaucoup plus simple { echo "<tr>"; echo "<td>".$achats['ref']."</td>"; echo "<td>".$achats['taille']."</td>"; echo "<td>".$achats['qte'] ."</td>"; echo "<td>".$achats['designation']."</td>"; echo "</tr>"; } echo "</table>";
Merci si tu arrive a trouver l'erreur et le moyen de sauvegarder la designation dans le tableau comme le reste, 100000000000merci en tout les cas
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
24 avril 2008 à 08:48
24 avril 2008 à 08:48
salut,
ça va venir !!!
je te propose deux petites optimisations : remplacer les guillemets par des apostrophes et ajouter des tabulations et des retours à la ligne à la sortie HTML (pour le moment ça ne doit pas être très lisible !).
ça va venir !!!
je te propose deux petites optimisations : remplacer les guillemets par des apostrophes et ajouter des tabulations et des retours à la ligne à la sortie HTML (pour le moment ça ne doit pas être très lisible !).
<?php echo "\t" , '<table border=1 cellspacing=0 cellpadding=0 bordercolor=black>' , "\r\n"; echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td width=100> Références</td>' , "\r\n"; echo "\t\t\t" , '<td width=50> Taille</td>' , "\r\n"; echo "\t\t\t" , '<td width=50> Quantité</td>' , "\r\n"; echo "\t\t\t" , '<td width=60> Désignation</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; // je suppose que $donnees contient toutes les infos // à propos de l'article sélectionné // il suffit d'insérer la ligne avant les autres echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['designation'].'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; foreach( $_SESSION['achats'] as $achats ) { echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['designation'].'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; } echo "\t" , '</table>' , "\r\n"; ?>
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
1
24 avril 2008 à 22:33
24 avril 2008 à 22:33
SALUT , merci c'est beaucoup plus lisible comme ça ;)
mais je n'arrive toujours pas a comprendre pourquoi la désignation ne reste pas dans la case qui lui est approprié ? a chaque fois que je recherche une autre référence elle disparait malgré que la référence lui correspondante reste si tu vois ce que je veux dire .
Pour plus de détails ce qui se passe lorsque je clic sur valider , il y a devant moi la réf , la taille , la qt et la désignation , chacune dans une case , je recherche une autre réf ce que j'ai déjà noté descend d'une case ( c'est normal ) mais la désignation elle disparait . Pourtant sur le code il y a pas de différence
mais je n'arrive toujours pas a comprendre pourquoi la désignation ne reste pas dans la case qui lui est approprié ? a chaque fois que je recherche une autre référence elle disparait malgré que la référence lui correspondante reste si tu vois ce que je veux dire .
Pour plus de détails ce qui se passe lorsque je clic sur valider , il y a devant moi la réf , la taille , la qt et la désignation , chacune dans une case , je recherche une autre réf ce que j'ai déjà noté descend d'une case ( c'est normal ) mais la désignation elle disparait . Pourtant sur le code il y a pas de différence
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
1
25 avril 2008 à 01:12
25 avril 2008 à 01:12
Ce n'est pas normal , je viens de vérifier et je me suis rendu compte que la désignation n'est pas enregistré dans la session ,il n y a que son affichage et non pas l'enregistrement => c'est donc normal qu'elle disparait a chaque fois , reste a savoir comment arranger ça . je planche dessus mais je pense que ça vient de la déclaration de la variable session non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
25 avril 2008 à 01:29
25 avril 2008 à 01:29
yep, je comprends mieux le problème et suis d'accord avec le diagnostique.
peux-tu nous donner le bout de code qui se charge d'affecter les valeurs à la variable de session, stp ?
peux-tu nous donner le bout de code qui se charge d'affecter les valeurs à la variable de session, stp ?
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
1
25 avril 2008 à 14:54
25 avril 2008 à 14:54
oui bien sur le voila
Dans le tableau une fois affiché , on peut mettre la quantite dans un input du genre
<input type="text" value= "<?php echo $donnees['prenom']; ?>" name="prenom"; >
pour que la quantite soit dans un champ de sorte que pour l'annuler il suffit de mettre 0 .
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Client.html</title> <script language="Javascript1.2" type="text/javascript"> <!-- function codeTouche(evenement) { for (prop in evenement) { if(prop == 'which') return(evenement.which); } return(evenement.keyCode); } function scanTouche(evenement) { var reCarSpeciaux = /[\x00\x08\x0D]/; var reCarValides = /\d/; var codeDecimal = codeTouche(evenement); var car = String.fromCharCode(codeDecimal); var autorisation = reCarValides.test(car) || reCarSpeciaux.test(car); return autorisation; } --> </script><?php session_start(); mysql_connect('localhost','root') or die(mysql_error()); mysql_select_db('applicatif') or die(mysql_error()); if(isset($_POST) &&!empty($_POST['reference']) ) { $ref = $_POST['reference']; } $sql = "select * from produit where ref='".$ref."' " ; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $donnees = mysql_fetch_array($req); //voila la partie qui pose probleme $_SESSION['achats'][] = array('ref' => $_POST['reference'],'qte' => $_POST['qte'],'taille'=>$_POST['taille']); echo "<br>"; $i = 0; echo "\t" , '<table border=1 cellspacing=0 cellpadding=0 bordercolor=black>' , "\r\n"; echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td width=100> Références</td>' , "\r\n"; echo "\t\t\t" , '<td width=50> Taille</td>' , "\r\n"; echo "\t\t\t" , '<td width=50> Quantité</td>' , "\r\n"; echo "\t\t\t" , '<td width=60> Désignation</td>' , "\r\n"; echo "\t\t\t" , '<td width=60> Prix</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; // je suppose que $donnees contient toutes les infos // à propos de l'article sélectionné // il suffit d'insérer la ligne avant les autres echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['designation'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['prix'] .'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; foreach( $_SESSION['achats'] as $achats ) { echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['designation'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['prix'].'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; } echo "\t" , '</table>' , "\r\n"; echo "<a href=teste.php?action=session_unset();>Détruire les sessions</a>"; ?> <form action="teste.php" method="post"> Référence : <input type="text" name="reference" onKeyPress="return scanTouche(event)"><br> Taille : <input type="text" name="taille" onKeyPress="return scanTouche(event)" ><br> Quantite : <input type="text" name="qte" value="1" onKeyPress="return scanTouche(event)"><br> <input type="submit" name="submit" value="Validez"> </form>
Dans le tableau une fois affiché , on peut mettre la quantite dans un input du genre
<input type="text" value= "<?php echo $donnees['prenom']; ?>" name="prenom"; >
pour que la quantite soit dans un champ de sorte que pour l'annuler il suffit de mettre 0 .
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
25 avril 2008 à 22:14
25 avril 2008 à 22:14
salut,
surfement, l'info est pas ajoutée à '$_SESSION['achats']'…
surfement, l'info est pas ajoutée à '$_SESSION['achats']'…
$_SESSION['achats'][] = array( 'ref' => $donnees['ref'] , 'qte' => $donnees['qte'] , 'taille' => $donnees['taille'] , 'designation' => $donnees['designation'] );
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
1
25 avril 2008 à 22:47
25 avril 2008 à 22:47
exactement !! ça marche super mais il y a juste un truc la même ligne apparait deux fois , c'est a dire lorsque par exemple je choisi trois articles au tableau il y en a 4 , les trois que j'ai chois plus le dernier enregistré deux fois. ça vient de la boucle tu pense ?et pour le truc de l'input tu as une idée ? et 10000000000000000000 merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
25 avril 2008 à 23:16
25 avril 2008 à 23:16
ah ba vi !!!
comme je ne teste rien et que ce n'est pas mon code je ne vois pas les évidences…
enlève ça :
comme je ne teste rien et que ce n'est pas mon code je ne vois pas les évidences…
enlève ça :
// je suppose que $donnees contient toutes les infos // à propos de l'article sélectionné // il suffit d'insérer la ligne avant les autres echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['designation'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$donnees['prix'] .'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n";
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
1
19 mai 2008 à 21:23
19 mai 2008 à 21:23
Désole si je pose ma question avec du retard ( examens obligent :) mais il y a un problème avec foreach qui est que lorsque j'affiche la page au début étant donné qu'il n y a encore rien de saisie
Warning: Invalid argument supplied for foreach() in C:\wamp\www\tests\references.php on line 170
ça me met et ça disparait juste après avoir saisie ma première référence , tu aurais pas une idée sur un moyen d'eviter cela ? merci
Warning: Invalid argument supplied for foreach() in C:\wamp\www\tests\references.php on line 170
foreach( $_SESSION['achats'] as $achats ) { echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['designation'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['prix'].'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; } echo "\t" , '</table>' , "\r\n";
ça me met et ça disparait juste après avoir saisie ma première référence , tu aurais pas une idée sur un moyen d'eviter cela ? merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
22 mai 2008 à 21:47
22 mai 2008 à 21:47
salut,
pardon pour le delais, je ne traine plus autant qu'avant sur le forum…
je suppose que c'est parce que ta variable de session vaut soit null, soit est une chaine de caractère.
essaie de tester l'existence de la variable :
ou si c'est bien un tableau :
à plus
pardon pour le delais, je ne traine plus autant qu'avant sur le forum…
je suppose que c'est parce que ta variable de session vaut soit null, soit est une chaine de caractère.
essaie de tester l'existence de la variable :
if( isset( $_SESSION['achats'] ) ) { foreach( $_SESSION['achats'] as $achats ) { echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['designation'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['prix'].'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; } echo "\t" , '</table>' , "\r\n"; }
ou si c'est bien un tableau :
if( is_array( $_SESSION['achats'] ) ) { foreach( $_SESSION['achats'] as $achats ) { echo "\t\t" , '<tr>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['ref'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['taille'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['qte'] .'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['designation'].'</td>' , "\r\n"; echo "\t\t\t" , '<td>'.$achats['prix'].'</td>' , "\r\n"; echo "\t\t" , '</tr>' , "\r\n"; } echo "\t" , '</table>' , "\r\n"; }
à plus
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
1
>
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
22 mai 2008 à 23:48
22 mai 2008 à 23:48
Salut, je voulais te dire merci pour ton aide , j'ai réussi ma soutenance et mon projet a été validé avec la mention très bien et ceci est en grande partie grâce a toi . Encore merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
>
duxitto
Messages postés
247
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 janvier 2013
23 mai 2008 à 13:21
23 mai 2008 à 13:21
salut,
BRAVO !!!
\o/
suis content que tu aies réussi et fier si j'ai pu t'y aider !
bon courage pour la suite !
-;o)
BRAVO !!!
\o/
suis content que tu aies réussi et fier si j'ai pu t'y aider !
bon courage pour la suite !
-;o)