php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2004, 21:57  
Gast
 
Beiträge: n/a
Standard Array auslesen OOP

Hallo,

habe folgendes Problem. Kenne mich leider nicht sehr gut aus damit und bin mittlerweile total verwirrt.

Ich habe folgende Methoden in meiner Klasse (weiss nicht, ob korrekte SQL):
Code:
//Warenkorb auslesen
	function getCartContent(){
	
	$query = "SELECT shop_id, 
								ticket_group,
								ticket_category,
								ticket_type,
								ticket_price,
								ticket_quantity
	 FROM shop WHERE session_id = '".$_SESSION['id']."'";
	
	return mysql_query($query);
	}
	
	//Warenkorb darstellen
	function printCartContent(){
	
		$res = $this->getCartContent();
	
		while($row = mysql_fetch_array($res)){
			
			return $row['ticket_group'].$row['ticket_category'].$row['ticket_type'];
			}
		}
Nun möchte ich in meiner Datei das Array auslesen, wobei in jeder Tabellenspalte dann ein Wert stehen soll. Wie kann ich das realisieren??

Dies ist nur ein Auszug aus dem Code.
Code:
<table border="1">
  <tr>
  	<td>Ticketgruppe</td>
  	<td>Ticketart</td>
  	<td>Tarif</td>
	<td>Menge</td>
	<td>Einzelpreis</td>
	<td>Gesamtpreis</td>
	<td>Aktion</td>
  </tr>
<?
  $Ticket->printCartContent();
  ???????????Hier sollen die die <td>s rein
?>
<td><form name="form" action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
  	<input type="hidden" name="do" value="update">
  		
  	<input size="5" type="textarea" name="quantity" value1">
  	<input type="submit" value="Ändern" name="submit"></form>     
	</td>
	<td></td>
	<td></td>
	<td>td>
	
<td><form name="form2" action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
  <input type="hidden" name="do" value="delete">
  <input type="submit" value="Löschen" name="submit2"></form></td> 
  </tr>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.08.2004, 23:05  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Wenn es nicht übertrieben viele Daten sind (da müsste einer schon extrem viel bestellen), würde ich das Array bereits in der Methode getCartContent() erstellen und entweder zurückgeben oder in eine Objektvariable speichern.

Für letzteres brauchst du nur in der Klassendefinition eine Objektvariable var $cart_content = array(); zu definieren und in deiner while-Schleife $this->cart_content[] = $row; zu schreiben. Übrigends ist es sinniger, hier mysql_fetch_assoc() anstatt mysql_fetch_array() zu verwenden.

Dann brauchst du das Array nurnoch in die HTML-Tabelle bringen, etwa so:

PHP-Code:

$content 
$this->cart_content;
$html '';
foreach (
$content as $product) {

    
$html .= "<tr>\n<td>";
    
$html .= implode ("</td>\n<td>"$product);
    
$html .= "</td>\n</tr>\n";
}
echo 
"<table border='1'>$html</table>"
Basti
Basti ist offline  
Alt 01.09.2004, 12:11  
Gast
 
Beiträge: n/a
Standard

Hallo,

super vielen Dank schon mal. Habe es noch nicht ausprobert, da ich im Moment total den Faden verloren habe. Sollte mein Problem auch noch etwas genauer spezifizieren.

In meiner Datei cart.php soll mittels Auslesen dieses Arrays folgendes passieren. Erst soll die Anzahl der Tickets berechnet werden, die unter einer bestimmten session_id bestellt wurden. Das funktioniert auch mittels der Methode:
Code:
//Anzahl der Tickets der gleichen Session_Id ermitteln
	function getQuantity(){
	
	$result = $this->getCartContent();
	
	$amount	=	mysql_num_rows( $result );
	
	return $amount;
	
	}
Nun soll das in meiner Datei aber folgendermaßen dargestellt werden. Bin total blockiert und weiss irgendwie gar nichts mehr. Könntest Du mir da vielleicht weiterhelfen und mir das Ganze an einem Beispiel mal zeigen???
Habe mir das mal so kommentiert, wie ich dachte. dass es funktioniert. Weiss es aber nicht umzusetzen.
Hier nochmals die Methoden:
Code:
//Warenkorb auslesen
	function getCartContent(){
	
	$query = "SELECT shop_id, 
								ticket_group,
								ticket_category,
								ticket_type,
								ticket_price,
								ticket_price2,
								ticket_quantity
	 FROM shop WHERE session_id = '".$_SESSION['id']."'";
	
	return mysql_query($query);
	}
	
	//Warenkorb darstellen
	function printCartContent(){
	
		$content = $this->getCartContent();
		
		html = '';
		while($row = mysql_fetch_array($res)){
			
			echo $row['ticket_group'];
			}
		}
Und hier meine Datei zur Dartsellung:
Code:
<table border="1">
  <tr>
  	<td>Ticketgruppe</td>
  	<td>Ticketart</td>
  	<td>Tarif</td>
	<td>Menge</td>
	<td>Einzelpreis</td>
	<td>Gesamtpreis</td>
	<td></td>
  </tr>
  
<?php
	$amount = $Ticket->getQuantity();
	echo $amount;
	// Für jeden Datensatz muss jeweils eine Tabellenzeile ausgegeben werden
	for ( $i=1; $i <= $amount; $i++)
	{
		$record	=	$Ticket->getCartContent();
		
?>
  <tr>
  	<td><?$record['ticket_group'];?></td>
  	<td><?$record['ticket_category'];?></td>
  	<td><?$record['ticket_type'];?></td>
	<td><form name="form" action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
  		<input type="hidden" name="do" value="update">
  		<input type="hidden" name="shopid" value="<?php $record['shop_id'];?>">
  		<input size="5" type="textarea" name="quantity" value="<?php $record['ticket_quantity'];?>">
  		<input type="submit" value="Ändern" name="submit"> </form>      
	</td>
	<td><? $record['ticket_quantity'];</td>
	<td><? $record['ticket_priceprice'];?></td>
	<td><?$record['ticket_price2'];?></td>
	
	<td><form name="form2" action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
  		<input type="hidden" name="do" value="delete">
  		<input type="submit" value="Löschen" name="submit2"></form></td> 
  </tr>
  
 <?php 
	}
	// Ende der Schleife
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Dynamisch Array aus MySQL mit PHP auslesen. Muuip PHP Tipps 2008 2 26.08.2007 21:19
Zweidimensionales Array auslesen u wieder in Array schreiben Lobo PHP Tipps 2006 7 20.04.2006 11:37
[Erledigt] array im array auslesen PHP Tipps 2006 3 15.03.2006 21:33
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Array aus MySQL auslesen und permutieren? PHP Tipps 2005-2 2 24.07.2005 14:11
Array in Session speichern und wieder auslesen Riot PHP Tipps 2005-2 3 08.07.2005 11:43
Assoziatives Array auslesen phpwiki PHP Tipps 2005 4 21.04.2005 13:27
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array oop, php oop array, oop php array, arrays oop, oop array auslesen, php multidimensionales array oop, oop mysql auslesen, array auslesen, in tabellenform bringen und in variable speichern, oop was ist array, php objektorientiert formular in array auslesen, php objektorientiert formular auslesen, php formular auslesen oop, warenkorb auslesen, methoden und arrays oop php, oop php formulare auslesen, oop php warenkorb, array oop php, array in oop php, post array oop php, php5 oop arrays

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.