SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.12.2003, 12:49:05
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
session auslesen in while schleife

morgen

habe folgendes problem, ich starte auf der seite artikel.php eine session und speichere auf der seite warenkorb.php die artikelnr und die bestelltmenge in dieser session.


Code:
if (!isset($_SESSION['Warenkorb'])) 

$_SESSION['Warenkorb'] = array(); 
$_SESSION['Warenkorb'][] = array('artikel'=>$art, 'menge'=>$bestellmenge); 
foreach($_SESSION['Warenkorb'] as $eintrag)

danach rufe ich die artikel aus der datenbank ab und gebe sie in einer while schleife aus


Code:
while ($korb_anzeigen = mysql_fetch_array($korb)) { 
                $artikelname = $korb_anzeigen["Produktname"]; 
   $preis = $korb_anzeigen["Preis_Brutto"]; 
    
   $gesamt = $preis*$bestellmenge; 

   $preis = number_format($preis, 2,",","."); 
   $gesamt = number_format($gesamt, 2,",","."); 

          
echo ("<table width="80%" align="center"> 
    <tr> 
                 <td width="10%">". $artikelname ."</td> 
                 <td width="4%" align="center">". $eintrag["menge"] ."</td> 
                 <td width="8%" align="right">". $preis ."</td> 
                 <td width="8%" align="right">". $gesamt ."</td> 
                 <td width="8%" align="center">löschen</td> 
          </table>");       
}

nun hab ich das problem das er mir jedesmal wenn ich einen neuen artikel hinzufüge er die menge im cookie zwar richtig speichert, nur bei der anzeige bekomme ich es net geregelt das er mir zu allen ausgaben die richtig menge also der reihenfolge nach aus dem array ausliest. danke schon mal im voraus
Mit Zitat antworten
  #2  
Alt 11.12.2003, 13:01:08
Benutzerbild von DaddyCool
DaddyCool DaddyCool ist offline
Anfänger
 
Registriert seit: Dec 2003
Ort: Peine / Germany
Beiträge: 62
Werden die daten denn in der Session gespeichert??

Dies kannst du überprüfen indem du nach z.B. session_start() folgendes einfügst

PHP-Code:
print_r($_SESSION); 
Rufst du das Script dann im browser auf, gibt es dir aus was indem Array steht. Du kannst dann auch dessen Struktur analysieren, und schauen ob dir das ein fehler unterlaufen ist.

Wenn die datei warenkorb.php eine eigenständige datei ist, hast du dann dran gedacht, die Session auch zu öffnen??
__________________
Crazy-Board
Mit Zitat antworten
  #3  
Alt 11.12.2003, 13:12:03
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
ich möchte ja nicht alles was in der session steht ausgeben, sondern nur das was in der $eintrag['menge'] steht. er gibt mir ja bei jedem durchlauf der schleife den artikel aus den ich ausgewählt hab. nun möchte ich aber das er mir die menge die der user bestellt auch noch ausgibt und diese menge ist ja in der session gespeichert. sie steht ja im cookie richtig drin nur gibt er mir immer die letzte menge für alle aus

z.b. ich bestelle 2 äpfel dann gehe ich mit dem zurück button nochmal auf die artikel seite und bestelle 3 birnen

dann soll es ja so aussehen

äpfel 2
birnen 3

er macht mir jedoch

äpfel 3
birnen 3

und im cookie steht bei äpfel menge 2 und bei birnen menge 3 das ist mein problem und ich weis net wie ich das bewerkstelligen soll
Mit Zitat antworten
  #4  
Alt 11.12.2003, 13:17:57
Benutzerbild von DaddyCool
DaddyCool DaddyCool ist offline
Anfänger
 
Registriert seit: Dec 2003
Ort: Peine / Germany
Beiträge: 62
Weisst du denn hunterprozentig das die werte auch drinstehen??

Dies sollst du ja mittels print_r($_SESSION); überprüfen.

Wenn man einen Fehler finden will, empfielt es sich immer erst die Variablen die benötigt werden zu überprüfen, das geht am besten mittels var_dump() und print_r()

Sieht man in der Ausgabe dann das der entsprechende Wert fehlt, kann man den fehler besser eingrenzen.
__________________
Crazy-Board
Mit Zitat antworten
  #5  
Alt 11.12.2003, 13:24:31
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
ja die werte stehen drin hier hab ich das cookie mit dem texteditor geöffnet

Warenkorb|a:2:{i:0;a:2:{s:7:"artikel";s:6:"400001";s:5:"menge";s:1:"2" ;}i:1;a:2:{s:7:"artikel";s:6:"600001";s:5:"menge";s:1:"3";}}

er hat die werte aber er gibt mir halt in der schleife immer nur den letzten wert aus. hab es vorher schon mit einem anderen script ausgeben lassen also nur die artikel nr und die menge da hat es einwandfrei funktioniert aber ich brauch ja auch die daten aus der datenbank.

vielleicht ist es wichtig das wenn du einen artikel in den warenkorb gibst öffnet sich die seite und du siehst was bereits im warenkorb drin ist. danach kommst du über den button zurück (javascript) wieder auf die seite wo sich der artikel befindet.

es sind nur 2 dateien die artikel.php die listet die artikel auf und die warenkorb.php wo man die bereits eingefügten artikel sieht. über den zurück button kann man dann weiter bestellen und das spiel beginnt von vorne
Mit Zitat antworten
  #6  
Alt 11.12.2003, 13:30:25
Benutzerbild von DaddyCool
DaddyCool DaddyCool ist offline
Anfänger
 
Registriert seit: Dec 2003
Ort: Peine / Germany
Beiträge: 62
Moment, läasst du das Array mehrmals durchlaufen innerhalb des Scripts?? Wenn ja musst du es erst mittels reset() (http://de.php.net/reset) an den Anfang zurücksetzen.
__________________
Crazy-Board
Mit Zitat antworten
  #7  
Alt 11.12.2003, 13:39:30
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
ja ich lasse das array mehrmals durchlaufen in dem script.

mit reset hm steht ja net besonders viel dazu auf der seite :(

wo und wie muß ich das in dem script anwenden?? tut mir leid wenn ich dich damit nerve aber ich hantiere erst seit 2 monaten mit php rum
Mit Zitat antworten
  #8  
Alt 11.12.2003, 13:44:11
Benutzerbild von DaddyCool
DaddyCool DaddyCool ist offline
Anfänger
 
Registriert seit: Dec 2003
Ort: Peine / Germany
Beiträge: 62
Es empfiehlt sich entweder vor oder nach einer Schleife (while, foreach, for) in der ein Array durchlaufen wird die Funktion anzuwenden.

Du wendest sie wiefolgt an:

reset($array);

Beispiel:
PHP-Code:
<?php
$test 
= array();
reset($test);
?>
Als Rückgabewert erhälst du den ersten Wert des Arrays, bei bedarf kannst du dies in eine andere variable schreiben.
__________________
Crazy-Board
Mit Zitat antworten
  #9  
Alt 11.12.2003, 13:49:39
Stifler Stifler ist offline
Junior Member
 
Registriert seit: Dec 2003
Ort: Wörth am Rhein
Beiträge: 347
Stifler eine Nachricht über ICQ schicken
also hab ich das richtig verstanden das array in dem fall $eintrag['menge'] setzte ich so zurück
PHP-Code:
<?
$test = array()

$test = $eintrag['menge'];
reset ($test);

while(){
...
...
echo $test;
...
...

}

?>
Mit Zitat antworten
  #10  
Alt 11.12.2003, 13:52:44
Benutzerbild von DaddyCool
DaddyCool DaddyCool ist offline
Anfänger
 
Registriert seit: Dec 2003
Ort: Peine / Germany
Beiträge: 62
Neenee, es ist nicht nötig das Array erst zu kopieren (mein beispiel war wohl etwas unpassend)

Wenn $eintrag['menge'] ein Array ist, so musst du es mittels

reset($eintrag['menge']); zurücksetzen.

$_SESSION['Warenkorb'] setzt du mittels reset($_SESSION['Warenkorb']); zurück. (Das ist wenn ich richtig sehe das Array was die Schleife durchläuft)
__________________
Crazy-Board
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:07:50 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt