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 ::

Das Zend Framework

Das Zend Framework 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 für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.02.2003, 18:49:10
Sunny Sunny ist offline
Anfänger
 
Registriert seit: Dec 2002
Beiträge: 51
Select verschachteln?

Hallo NG,
folgendes Problem,

eine Datei soll Daten verschiedener Tabellen anzeigen, (z.B. ein Warenkorb aus Tabelle für Produkt 1 und gleichzeitig auch aus Tabelle(n) für Produkt n)

Um die Abfrage nicht zu kompliziert zu machen, habe ich eine Variable $tabelle, die aus einer MYSQL-Tabelle ausgelesen wird,
die Abfrage hierzu:
------------------------------------------------------------------
mysql_select_db($database_pzv_db, $pzv_db);
$query_Recordset1 = "SELECT bestellung.tabelle FROM bestellung ";
$Recordset1 = mysql_query($query_Recordset1, $pzv_db) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
-------------------------------------------------------------------

Das kommt nun in die Variable

$tabelle=$row_Recordset1['tabelle'];
-------------------------------------------------------------------
und die nun wiederum in die eigentliche QUERY

$colname_rsBasket = "0";

if (isset($_SESSION['userid'])) {
$colname_rsBasket = (get_magic_quotes_gpc()) ? $_SESSION['userid'] : addslashes($_SESSION['userid']);
}
mysql_select_db($database_pzv_db, $pzv_db);
$query_rsBasket = sprintf("SELECT bestellung.*, $tabelle.*, preis_id.einzel_prs_EUR, zeits_id.name FROM bestellung, $tabelle, preis_id, zeits_id WHERE bestellung.anzahl >=1 AND bestellung.zeits_id=$tabelle.zeits_id AND bestellung.ausgabe_id=$tabelle.ausgabe AND preis_id.preis_id=$tabelle.preis_id AND $tabelle.zeits_id=zeits_id.zeits_id AND bestellung.session_id=%s", $colname_rsBasket);
$rsBasket = mysql_query($query_rsBasket, $pzv_db) or die(mysql_error());
$row_rsBasket = mysql_fetch_assoc($rsBasket);
$totalRows_rsBasket = mysql_num_rows($rsBasket);
?>

Es klappt auch mit dem Einlesen, nur - er liest immer nur den Eintrag von $tabelle aus dem allerersten Datensatz - dadurch wird immer nur aus dem jeweils ersten Eintrag für $tabelle etwas angezeigt - muss wohl eine Schleife her - oder eine Verschachtelung von SELECT?! Wäre schön, wenn jemand eine Idee hätte....

Viele Grüße Sunny
Mit Zitat antworten
  #2  
Alt 03.02.2003, 20:17:43
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Muss zugeben Quelltext nicht weiter beachtet zu haben: Aber immerhin soviel:
Verschachtelte SQL-Abfragen werden erst mit der neuen Version 4 Punkt irgendwas möglich sein. Außer Du hast auf Deinem Server ein kommerzielles Produkt laufen - Oracle & Co....
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 03.02.2003, 20:36:00
Sunny Sunny ist offline
Anfänger
 
Registriert seit: Dec 2002
Beiträge: 51
Hi,
kann für das Verständnis auch versuchen, es zu vereinfachen (den Code hat Dreamweaver produziert und der ist wohl deshalb auch verworrener als nötig...)

Also, ich habe in einem Warenkorb ein SELECT (mit QUERY), das nur ein Wort einliest und zwar den Namen einer Tabelle -

das Ergebnis übergebe ich in einer Variable $tabelle einer weiteren SELECT-Abfrage

Das Problem besteht nun darin, dass er die Variable zwar richtig verarbeitet, aber eben nur für den 1. Datensatz, so dass ich nur aus tabelle 1 bestellen kann, wenn ich mit einem Produkt aus tabelle 1 begonnen habe....

versteht mich einer?!

Gruß Sunny
Mit Zitat antworten
  #4  
Alt 03.02.2003, 21:06:03
Ben20
Guest
 
Beiträge: n/a
Äh, zugegebenermaßen nicht so ganz. Nichts desto trotz:


$result = mysql_query("SELECT name FROM tabx");

while($array = mysql_fetch_row($result)) {

$erg1 = mysql_query("SELECT xyz FROM " . $array[0])

}


Das sollte nacheinander alle Werte von xyz aus allen Tabellen die in tabx angegeben sind rausholen!
Mit Zitat antworten
  #5  
Alt 03.02.2003, 21:25:31
Sunny Sunny ist offline
Anfänger
 
Registriert seit: Dec 2002
Beiträge: 51
ok, ich glaube ich schlafe noch mal drüber ;)) - danke bis hierher!

Viele Grüße Sunny
Mit Zitat antworten
  #6  
Alt 04.02.2003, 08:08:33
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
du solltest dir mal mysql JOIN ansehen das macht deine abfrage verständlicher! das ganze and zeug nervt etwas. und .* abfragen sind auch nciht die beste lösung.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 11:18:28 Uhr.


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


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