PHP array dans une boucle while
11 messages
• Page 1 sur 1
-

webac - WRInaute occasionnel

- Messages: 374
- Inscription: 4 Mar 2005
PHP array dans une boucle while
Bonjour à tous,
j'ai un petit soucis avec une boucle dans laquelle j'ai un array qui s'alimente par cette même boucle.
je ne sais pas comment faire pour extraire les valeurs de mon array afin de les utiliser dans une requête.
voici mon code :
Pouvez vous m'éclairer sur lamaniere dont je dois proceder pour effectuer la requête suivante qui ne sera pas dans cette même boucle :
Merci d'avance
j'ai un petit soucis avec une boucle dans laquelle j'ai un array qui s'alimente par cette même boucle.
je ne sais pas comment faire pour extraire les valeurs de mon array afin de les utiliser dans une requête.
voici mon code :
- Code: Tout sélectionner
while ($i<=count(@$tableau)){
$ean =substr($tableau[$i],6,6);
$qte =substr($tableau[$i],26,7)/100;
$lib="SELECT lib, qtecolis FROM produits WHERE code='$ean'";
$res=mysql_query($lib);
while ($cl=mysql_fetch_array($res)){
$codimport= array("montab"=>array($i=>$ean));
$import =$codimport["montab"][$i];
$i++;
}
Pouvez vous m'éclairer sur lamaniere dont je dois proceder pour effectuer la requête suivante qui ne sera pas dans cette même boucle :
- Code: Tout sélectionner
$sql = "SELECT * from produits WHERE commande='oui' AND NOT IN ('$import') ORDER BY cat ASC";
Merci d'avance
-

dorian53 - WRInaute passionné

- Messages: 2216
- Inscription: 10 Avr 2005
Re: PHP array dans une boucle while
Salut,
Si j'ai bien compris, ça peut peut-être t'aider : http://fr.php.net/manual/fr/function.implode.php
Si j'ai bien compris, ça peut peut-être t'aider : http://fr.php.net/manual/fr/function.implode.php
- Code: Tout sélectionner
implode(",", $array);
-

dorian53 - WRInaute passionné

- Messages: 2216
- Inscription: 10 Avr 2005
Re: PHP array dans une boucle while
webac a écrit:je n'arrive a récupérer que le dernier enregistrement.
Avez vous une piste.
Le dernier élément d'un tableau ?
- Code: Tout sélectionner
$dernier = array_pop($a);
-

webac - WRInaute occasionnel

- Messages: 374
- Inscription: 4 Mar 2005
Re: PHP array dans une boucle while
j'obtiens Notice: Array to string conversion in ........
une autre idée peut être?
voici mon code complet (soyez indulgents je sais que ce n'est pas très propre):
une autre idée peut être?
voici mon code complet (soyez indulgents je sais que ce n'est pas très propre):
- Code: Tout sélectionner
<?
session_start();
//si la variable de session login n'existe pas cela siginifie que le visiteur n'a pas de session ouverte, il n'est donc pas logué ni autorisé à acceder à l'espace membres
if(!isset($_SESSION['login'])) {
echo '<center>Vous n\'êtes pas authentifié et donc pas autorisé à acceder à cette zone<br>merci de vous identifier</center>';
include('login.php');
exit;
}
?>
<style type="text/css">
#cache {
position:absolute; top:200px; z-index:10; visibility:hidden;
}
</style>
<div id="cache"><table width=400 bgcolor=#000000 border=0 cellpadding=2 cellspacing=0><tr><td align=center valign=middle><table width=100% bgcolor=#FFFFFF border=0 cellpadding=0 cellspacing=0><tr><td align=center valign=middle><font face="Verdana" size=4 color=#000000><br>Import de la commande en Cours...<br><img src="loading.gif"></img><br><br></font></td></tr></table></td></tr></table></div>
<SCRIPT LANGUAGE="JavaScript">
var nava = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
if (nava) { cach = document.cache }
else if (dom) { cach = document.getElementById("cache").style }
else if (iex) { cach = cache.style }
largeur = screen.width;
cach.left = Math.round((largeur/2)-200);
cach.visibility = "visible";
function cacheOff()
{
cach.visibility = "hidden";
}
window.onload = cacheOff
</SCRIPT>
<?
include ('connexion.php');
//PARCOURS LE REPERTOIRE DES VIDAGES LE FICHIER CORRESPONDANT
if ($handle = opendir('X:/')) {
while (false !== ($file = readdir($handle))) {
//cherche le fichier CMZnumerovideor.XXX
if (preg_match('`CZM'.$_SESSION['videor'].'\.([0-z])`', $file)){
//place les lignes du fichier texte correspondant dans un tableau
@$tableau = @file("X:/$file");
}
}
closedir($handle);}
$ean = "";
$qte="";
//debut de lecture du fichier à la ligne n°2 et recup code + qte
$i=1;
$t=0;//Variable pour le total colis
echo '<center><h1>Récapitulatif de votre Commande</h1></center><br>';
echo '<form id=form1 name=form1 method=post>';
echo '<center><table cellspacing=5 width=50%>';
echo '<tr><td align=center bgcolor=#9AB096><font size=3 color=black><b>Photo</td><td align=center bgcolor=#9AB096><font size=3 color=black><b>Code</td><td align=center bgcolor=#9AB096><font size=3 color=black><b>Libellé</td><td align=center bgcolor=#9AB096><font size=3 color=black><b>Qté/Colis</td><td align=center bgcolor=#9AB096><font size=3 color=black><b>Quantité</td><tr>';
while ($i<=count(@$tableau)){
@$ean =substr($tableau[$i],6,6);//position du code dans le fichier
@$qte =substr($tableau[$i],26,7)/100;//position de la quantité dans le fichier
if ($qte!='0' ){
$couleur = "#9AB096";
if ($i % 2 ==1)
{
$couleur = "#F7FCD7";
}
//Recupération du libellé correspondant au code
$lib="SELECT lib, qtecolis FROM produits WHERE code='$ean'";
$res=mysql_query($lib);
while ($cl=mysql_fetch_array($res)){
$codimport= array("montab"=>array($i=>$ean));
@$import =$codimport["montab"][$i];
$test= implode (",", array_values($codimport));
echo $test;
$libelle=$cl['lib'];
$colis=$cl['qtecolis'];}
//affichage du tableau
echo "<tr><td bgcolor=$couleur><center><span title=\"header=[<center><img src='photos/$ean.jpg' style='vertical-align:middle'> ] body=[$libelle]\" style=\"vertical-align:middle;font-family:arial;font-size:20px;font-weight:bold;color:#ABABAB;cursor:pointer\"><img src=\"photos/$ean.jpg\" height=30 border=0></img></center></span></td>\n";
echo "</td><td bgcolor=$couleur>\n";
echo"<center><input type=\"hidden\" name=\"code[]\" value=\"$ean\"><font size=2 color=black><b>$ean</b></font></center>\n";
echo "<td bgcolor=$couleur><font size=2 color=black><img src=photos\pdt3100.png height=30 border=0 alt='Produit importé depuis le vidage PDT3100'></img><b>$libelle</b></font>\n";
echo "</td><td bgcolor=$couleur>\n";
echo"<center><font size=2 color=black><b>$colis</b></center></td><td bgcolor=$couleur>\n";
echo"<center><input type=\"text\" name=\"qte[]\" value=\"$qte\" size=\"3\"></center>\n";
echo"</tr>\n";}
$i++;
//incrementation total colis
$t=$t+$qte;
}
//echo '</table></center>';
//Message en cas de fichier non trouvé
if($t==0){echo '<center>Commande non trouvée ou vide<br>Merci de scanner votre commande en mode Commande avec votre PDT3100<BR>et de la vider via Communication Portable MultiUser ou de la saisir manuellement ci-dessous</center><br><br>';}
echo "<center><img src=photos\pdt3100.png height=30 border=0 alt='Produit importé depuis le vidage PDT3100'></img>signifie que le produit à été importé depuis le vidage PDT3100</center>";
//Tableau ensemble des produits
$date = date("Y-m-d");
$magasin= $_SESSION['login'];
$numsemaine=strftime("%U");
$recupidcom="SELECT Idcom FROM commande WHERE Mag='$magasin' AND Sem='$numsemaine'";
$res= mysql_query($recupidcom);
if ($cl = mysql_fetch_array($res)){$idcom=$cl['Idcom'];}
else{$idcom = date ('dmYHms');}
@$sql = "SELECT * from produits WHERE commande='oui' AND code NOT IN ('$import') ORDER BY cat, condi, sec1, sec2 ASC";
$resultat = mysql_query ($sql);
@$nblignes = mysql_num_rows($resultat);
$i = 0;
while (@$cl = mysql_fetch_array ($resultat))
{
$couleur = "#F7FCD7";
$i++;
if ($i % 2 ==1)
{
$couleur = "#9AB096";
}
$lib = $cl['lib'];
$cod = $cl['code'];
$qtecolis = $cl['qtecolis'];
$sec1 = $cl['sec1'];
$sec2 = $cl['sec2'];
$condi = $cl['condi'];
@$pvc = $cl['pvc'];
$pvm = $cl['pvm'];
echo "<tr BGCOLOR=$couleur>";
echo "<td align=center><span title=\"header=[<center><img src='photos/$cod.jpg' style='vertical-align:middle'> ] body=[$lib <br>$condi <br>Prix de vente: $pvc €]\" style=\"vertical-align:middle;font-family:arial;font-size:20px;font-weight:bold;color:#ABABAB;cursor:pointer\"><img src=\"photos/$cod.jpg\" height=30 border=0></img></center></span>";
echo "<td align=left><input type='hidden' name='code[]' value='$cod' /><font size=2 color=black><b>$cod<b>";
echo "<td align=left><input type='hidden' name='commande[]' value='$lib' /><font size=2 color=black><b>$lib $condi<b>";
echo "<td align=center><font size=2 color=black><b>$qtecolis</b><input type='hidden' name='qtecolis[]' value='$qtecolis' /><input type='hidden' name='pvm[]' value='$pvm'>";
echo "<input type='hidden' name='magasin[]' value='$magasin' />
<input type='hidden' name='idcom[]' value='$idcom' />
<input type='hidden' name='dat[]' value='$date' /></font></td>";
echo "<td><center><font size=2 color=black><b><input type='text' name='qte[]' size='3'/></font></center</td>";
echo "</tr>";
}
echo "</table>";
//Suppression du fichier texte après traitement
if ($handle = opendir('X:/')) {
while (false !== ($file = readdir($handle))) {
if (preg_match('`CZM'.$_SESSION['videor'].'\.([0-z])`', $file)){
unlink("X:/$file");
}
}
closedir($handle);}
echo $import;
mysql_close()
?>
</span><br />
</div>
<div align="center"><img src="../distriservices/valid.gif" style="cursor: pointer" onClick="Cloturer();" tabindex=<? echo $i ;?>></div>
<script src="boxover.js"></script>
<!--
<center>Total Colis : <? //echo $t;?></center>
-->
11 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- array & php
- [résolu]PHP et array
- Tri array multidimensionnel PHP
- [php] Conversion xls en array()
- aide pour array en php
- Probleme erreur php avec array...
- PHP : changer les clés d'un array
- PHP toutes les occurrences SQL dans un tableau array(
- PHP: Récupérer valeur array 2 dim d'un formulaire HTML
- Boucle PHP et variables
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- Guide complet d'optimisation du référencement d'un blog - 20-09-2006
- Configurer des nouveaux moteurs dans Google Analytics - 12-06-2007
- MSN HRS : des éditeurs de MSN évaluent la qualité des sites web - 02-12-2005
- Référencement : le problème des sessions des pages PHP - 04-08-2008
- Suivre le Tour de France 2008 avec Google Street View - 03-07-2008
- Optimiser le référencement d'un blog Dotclear : balises TITLE et META - 11-05-2007
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


