mondoshawan
01-11-2005, 14:43
Mit print_r($_SESSION); bekomme ich fogendes raus:
Array ( [Artikelnummer] => [Menge] => [Artikelnummer1] => 800020 [Menge1] => 55 [Artikelnummer2] => 800020 [Menge2] => 44 [Artikelnummer7] => 250016 [Menge7] => [Artikelnummer13] => 800016 [Menge13] => 44 [Artikelnummer10] => 250024 [Menge10] => 1254 )
Wie kann ich das ganze Staffeln? Ich brauche jeweils zur z.B. zur $Artikelnummer1 die $Menge1
Mit foreach() habe ich es nicht geschafft.
Bei 2 foreach() schleifen wird entweder $Artikelnummer1 oder $Menge1 ausgegeben.
Ich möchte aber das ich aus der $_SESSION rauslesen kann welcher $Artikelnummer(n) zu welchem $Mengen(n) gehört.
Es können hunderte einträge in eier session sein.
finde das konzept etws zerfahren... geschickter wäre es doch wenn es zwei arrays geben würde:
Artikelnummer und Menge
und Artikelnummer[i] zu Menge[i] gehört
mondoshawan
01-11-2005, 15:03
Alleine mit Arrays komme ich nicht weit.
Ich habe viele Dutzende Seiten auf diesen habe ich wieder dutzende Produkte die Menge ist immer unbestimmt(variabel).
Jedes einzelne Produkt beinhaltet ein ein Formular wo die Menge in dei Session geschrieben wird.
Der Sinn ist es das der Enduser sich im ganzen Onlineshop frei bewegt und sachen in den Warenkorb legen kann. wenn er dann zum Warenkorb geht soll ich anhand der SESSION daten auslesen kann wo klar definiert ist die Menge und die Artikelnummer.
was spricht gegen ein array, in dem der index die art-nr und der value die menge ist?
mondoshawan
01-11-2005, 15:12
Wie sollte dann das Formular aussehen?
Mein Formular sieht so aus:
<?php
// Zähler
$f = 1;
$m = 1;
$a = 1;
// Formulare
include 'db.php';
$dbString1 = mysql_query("SELECT * FROM uos_objects where obj_lid = '1' AND obj_group = '" . $_GET['dbGroup'] . "' ");
if ($dbString1){
while ($row = mysql_fetch_array($dbString1, MYSQL_ASSOC)) {
$id = $row['obj_id'];
$image = $row['obj_image'];
$desc = $row['obj_desc'];
$volume = $row['obj_volume'];
$size = $row['obj_size'];
$price = $row['obj_price'];
$group = $row['obj_group'];
$lid = $row['obj_lid'];
echo "<tr valign='top'>\n
<td height='12' align='left' valign='middle' bgcolor='#FFFCCC'>\n
<span class='text12'> </span></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
</tr>";
echo "<tr valign='top'><td height='84' rowspan='6' align='center' valign='top' bgcolor='#fffccc'>
<img src='images/obj/" . $image . "' width='50' height='50'><br>\n
</td><td height='12' align='left' valign='middle' bgcolor='#FFFCCC'>\n
<span class='text12'> " . $desc . "</span></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $volume . "</td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $size . "</td>\n
<td height='12' align='right' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $price . "</td>\n
<td height='12' align='center' valign='bottom' bgcolor='#FFFCCC' class='text12'>\n
<form name='Formular". $f++ . "' style='margin:0px' method='GET' action='" . $PHP_SELF . "'>";
$x=$f-1;
echo "<input name='Formcount' type='hidden' value='". $x ."'>
<input name='Menge". $m++ . "' type='text' class='input' size='5' maxlength='5'>\n
<input name='Artikelnummer". $a++ . "' type='hidden' value='" . $id . "'> <input name='Submit' type='image' src='images/carts.gif'>\n
</form>";
echo "</td>\n
</tr>";
$dbString2 = mysql_num_rows(mysql_query("SELECT * FROM uos_objects WHERE obj_image = '$image'"));
if ($dbString2) {
$lid_blanks = 6 - $dbString2;
}
$dbString3 = mysql_query("SELECT * FROM uos_objects WHERE obj_image = '$image' AND obj_lid != '1' ORDER BY `obj_lid` ASC");
if ($dbString3) {
while ($row = mysql_fetch_array($dbString3, MYSQL_ASSOC)) {
$id = $row['obj_id'];
$image = $row['obj_image'];
$desc = $row['obj_desc'];
$volume = $row['obj_volume'];
$size = $row['obj_size'];
$price = $row['obj_price'];
$group = $row['obj_group'];
$lid = $row['obj_lid'];
echo "<tr valign='top'><td height='12' align='left' valign='middle' bgcolor='#FFFCCC'>\n
<span class='text12'> " . $desc . "</span></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $volume . "</td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $size . "</td>\n
<td height='12' align='right' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $price . "</td>\n
<td height='12' align='center' valign='bottom' bgcolor='#FFFCCC' class='text12'>\n
<form name='Formular". $f++ . "' style='margin:0px' method='GET' action='" . $PHP_SELF . "'>";
$x=$f-1;
echo "<input name='Formcount' type='hidden' value='". $x ."'>
<input name='Menge". $m++ . "' type='text' class='input' size='5' maxlength='5'>\n
<input name='Artikelnummer". $a++ . "' type='hidden' value='" . $id . "'> <input name='Submit' type='image' src='images/carts.gif'>\n
</form>";
echo "</td>\n
</tr>";
}
}
while ($lid_blanks > 0) {
echo "<tr valign='top'>\n
<td height='12' align='left' valign='middle' bgcolor='#FFFCCC'>\n
<span class='text12'> </span></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'> </td>\n
</tr>";
$lid_blanks--;
}
}
}
echo "<tr valign='top'><td height='12' align='left' valign='middle' bgcolor='#FFFCCC'>\n
<span class='text12'> </span></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'></td>\n
<td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'></td>\n
</tr>";
echo "</table></td>\n
<td width='120' valign='top' background='images/blackstripe.jpg'><img src='images/blackstripe_". $group . ".jpg' width='120' height='160'><br>\n
<br>\n
<br>\n
<br>\n
<br>\n
<br>\n
<br>\n
<br>\n
<br>\n
<img src='images/side_" . $group . ".jpg' width='120' height='200'></td>\n
</tr>";
echo "<?php include 'testecho.php';?>";
?>
Auslesen kann ich es damit:
<?php
session_start();
$summe="Artikelnummer" . $_GET['Formcount'];
$summe2="Menge" . $_GET['Formcount'];
$_SESSION[$summe] = $_GET[$summe];
$_SESSION[$summe2] = $_GET[$summe2];
?>
Ich habe es mit Arrays probiert nur das Problem das dann die Formularvariablen $xxxxxx => value'Menge' sind
und ich nie weiß was $xxxxx ist es gibt viele Huntert artikelnummern
<input name="artikelnummer" value="123" />
<input name="menge" value="1" />
$_SESSION['artikelnummer'][$_GET['artikelnummer']]=$_GET['menge'];