rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

PB PHP/mysql recup résultat d'un tableau

Posté par marie, le lundi 22 janvier 2007 à 09:37:06
bonjour, à tous, voilà j'ai un tit problème.

Je voudrais récupérer des variables que j'ai listé dans un tableau préalablement créer soit des n° de coupon.

Mais je n'arrive qu'à en récupérer un seul sur le nbre x qu'il peut y avoir.

Logiciel, programme utilisé :
-phpmyadm 2.6.1
-mysql 4.1.9
-PHP 4.3.10


Voila tout d'abord fichier pre info :
<?
include("connect_bd.php");
$num=$_GET['var1'];
$nom=$_GET['var2'];

echo"<form action='verif_facture.php'>
<center><h1><font color=blue>Editer la facture de : $nom </h1></font></center>";

$sql="select coupon.num_coupon,coupon.nom_eleve,nb_h,
eleve.num_eleve,eleve.civilite_eleve,num_rue_eleve,rue_eleve­,
cp_eleve,ville_eleve,pt_cadeau_eleve
FROM coupon,eleve
WHERE eleve.num_eleve=coupon.num_eleve
and coupon.etat_facture='attente'
AND eleve.num_eleve=('$num')";

$req=mysql_query($sql)or die ("error de connexion");

//echo $req ;

$nb=mysql_num_rows($req);//nbre de ligne du résultat de la requete

echo'<table align=center bgcolor=blue border=0 cellspacing=5>';
$i=0;

while($resultat=mysql_fetch_array($req))
// creation tableau pour afficher resultat de la requete
{
// les mettres qu'entre les $RESULTAT permet d'eviter de répéter les meme DONNER
$num_coupon=$resultat['num_coupon'];
$num=$resultat['num_eleve'];

//echo '<br>'.$num_coupon;
// BUT pouvoir garder une trace des N° coupon afin aprés de les déclarer en Etat_facture=valider Mais on les cache

// ." . $i . " permet de compter les numéros
echo "<input type=hidden name=num_coupon_".$i ." value=".$num_coupon."></td></tr>&qu­ot;;
$i=$i+1;
echo "<input type='hidden' name='i' value='$i'></td></tr>";
echo $i;
}
echo "<tr><td align=center>N° de l'élève : </td><td align=center><input name='num' value='$num'></td></tr>";

...
echo'<div align=center><input type="submit" name="Valider" value="Valider"></div></form> ';
?>

PUIS sa renvoie donc au fichier VERIF : qui creer le tableau pour récupérer n° coupon

<?
//session_start();
include('connect_bd.php');
$nom=$_GET['nom'];
$i=$_GET['i'];

// Vérification si facture déjà fait au nom donné
{
$sql="select * from facture,eleve,coupon
where nom_eleve_facture=('$nom') ";

/*
BUT essayer de s'occuper des num_coupons
$num=$_GET['num'];
AND facture.num_eleve=('$num')
and facture.num_eleve=eleve.num_eleve
and eleve.num_eleve=coupon.num_eleve
and coupon.etat_facture='attente'*/
$req=mysql_query($sql)or die('erreur');

$nb=mysql_num_rows($req);//nbre de ligne du résultat de la requete
}

// verifie si une ou plusieures factures ont déjà été faites à son nom
if($nb>=1){

/* C = est 1 variable simple, $i est le nbre total de num_coupon */
/// création du tableau pour récuperer les num_coupon
for ($c=0;$c<$i;$c++)
{
$tableau[$c]=$_GET[ 'num_coupon_'.$c];
//echo $tableau[$c];
$num_coupon=$_GET[ 'num_coupon_'.$c];
//echo "$num_coupon<br>";
}
echo "$num_coupon<br>";

include('previsu_facture_sans.php');
}

else...

?>


Donc aprés sa renvoie au fichier Prévisu : qui va récupérer les N° de coupon et les lister dans un tableau, donc jusque là sa marche.


<?
//session_start();

$chaine="form action=ajout_facture_sans.php?";
echo "$chaine<br>";

foreach ($tableau as $num => $num_coupon)
{
echo "$num : $num_coupon <br>";
//$chaine=$chaine.$num.'='.$num_coupon;
$chaine=$chaine.'&'.$num_coupon;
$chaine1=$num_coupon;
//echo "$chaine<br>";
//echo "$num_coupon<br>";
}
echo $chaine1;
echo '<br>'.$num_coupon;

echo"<$chaine>";
...
/*
RESULTAT d'affichage :
form action=ajout_facture_sans.php?
0 : 33490
1 : 33497
2 : 33496
3 : 33494
donc sa récupere bien

*/
echo"<br><p span class='Style1' align='center'><input type='submit' name='Valider' value='ENREGISTRER DANS BASE'></p></form> ";
?>
DONC le $ chaine que j'ai fait, va se mettre sur le boutton :

Soit si on se met sur le boutton est marqué :
ajout_facture_sans.php?&33490&33497&33496&33494

Et donc c'est censer me renvoyer mes n° sur la page ajout.

SOIT page AJOUT :
adresse de la page étant :

"/ajout_facture_sans.php?num_facture=&date=&num=195&num­_coupon=33494... "

Donc il ne me prend pas les autres n°.
BUT Recupérer ces N° pour les modifier dans la base.
Le code :
<?
session_start();
//echo $chaine;
//$num_coupon=$_GET[ 'num_coupon_'.$c]
$num_coupon=$_GET['num_coupon'];

echo $num_coupon;=> affiche en fait que le 1er ou dernier N° de coupon.

$nom=$_GET['nom'];// assimile NOM + PRENOM
....

$valider='valider';
include('connect_bd.php');
{
$req="UPDATE coupon SET
etat_facture=('$valider') where coupon.num_coupon=('$num_coupon') ";

mysql_query($req) or die('erreur1');

//echo'etat facture modifier<br>';
}

?>


Merci de M'aider !!!

Bonne journée.
Configuration: Windows XP
Firefox 1.5.0.9
internet explorer 7, dernier version
Répondre à marie  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kij_82, le lundi 22 janvier 2007 à 11:10:52
Si tu dois passer une nombre inconnu de paramètre, je te conseille alors l'une de ces deux méthodes :

Soit tu fais une fonction qui construit ton url en fonction d'un tableau, afin de passer en argument le nombre d'élément du tableau, puis chacun des éléments avec un nom commun et un numéro.

Ex : http://www.bidule.com?nb=12&arg1=toto&arg2=...&arg12=bibi

Ainsi dans ta page de traitement, tu récupère tes arguments (numéro) de nouveau dans un tableau de la sorte :
$nb = $_GET["nb"];
$liste = null;

for ( $i=0; $i < nb; $i++ )
   $liste[i] = $_GET["arg"+i];



Du moins quelque chose dans le genre.

Soit, tu gere les sessions (au moins pour les pages où il est nécessaire de passer ces numéros) et tu met le tableau en session avant d'appeler ton traitement, et le récupère en début de traitement. C'est la méthode la plus simple.

Désolé j'ai pas regardé ton code, trop tot encore ^^
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~
Répondre à kij_82

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 marie77, le lundi 22 janvier 2007 à 11:31:01
J'y avais pensé avec la session, je vais essayer, et je te monterai mon code.

Merci de m'avoir répondu.
Répondre à marie77
Logiciels pertinents trouvés dans les téléchargements
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger MySQL 5.0.51bMySQL - MySQL est une des systèmes de gestion de bases de données le plus répandu au monde. Catégorie: Bases de données
Licence: Open Source
Télécharger easyPHP 2.0b1easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données...Catégorie: Serveurs
Licence: Open Source
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « PB PHP/mysql recup résultat d'un tableau »