Page 1 of 1

MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-08 14:04
by dognose
Ich hab da n kleines Problem...

Ich will etwas auslesen aus einer Datenbank, und mit einem Wert dieser Auslesung, eine weiter betreiben, die dann letzten endes ausgegebn werden soll... Allerdings soll danach mit der nächsten zeile aus der 1ten tabele weiter gemacht werden, und soweiter..

Code: Select all

$sql 	 = "SELECT * FROM ppz_partys"; 
	$result  = mysql_db_query($db_name,$sql);
	while ($zeile = mysql_fetch_array($result))
	{
	
	$party_name= $zeile["party_name"];
	$kommentare= $zeile["kommentare"];
	$party =$zeile["party_short"];
	$shootaz =$zeile["shootaz"];
	$location =$zeile["location"];
	$root =$zeile["root"];?>

$sql 	 = "SELECT * FROM $party"; 
	$result  = mysql_db_query($db_name,$sql);
	while ($zeile = mysql_fetch_array($result))
	{
	$bild_id= $zeile["id"];
	$bild_url =$zeile["bild_url"];
	?>

DATEIAUSGABE.

<?}}?>

Wer kann mir bei der sache helfen...?

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-08 15:55
by outofbound
Der Code macht so keinen Sinn...

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-08 17:02
by bobby
Hi!

Irgendwie habe ich nich verstanden, was du machen willst.

Du willst also eine Abfrage machen (SELECT * FROM Tabelle). Schön...

Und dann willst du mit dem ergebnis aus der ersten Abfrage was machen?

Da kommt dann z.B. soetwas heraus:

Code: Select all

Spalte1    Spalte2    Spalte3
1            Wert1       Wert1a
2            Wert2       Wert2a

usw...
Und jetzt willst du das gleiche nochmal abfragen... Sinnlos...

Ich vermute einfach mal du willst mit einem Wert aus einem Datensatz aus der ersten Abfrage eine Zweite Abfrage auf eine Weitere Tabelle machen.

Könntest du evtl. mal deine Tabellenstruktur posten und nochmal genau beschreiben, was du als Ergebnis haben willst?

Gruß

Bobby

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-08 17:20
by arty
Stichwort: JOIN

Da zufindest du in der MySQL-Doku allerhand.

bye
arty

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-08 17:36
by bobby
Hi!

Ja, oder auch einfach eine Verknüpfung über WHERE, die ist schneller...

Code: Select all

SELECT Tab1.Sp1, Tab1.Sp2, Tab2.Sp1 FROM Tab1, Tab2 WHERE Tab1.Sp3 = Tab2.Sp2
Gruß

Bobby

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-08 17:41
by outofbound
Was genau das selbe wie ein join ist, nur dass man nicht
"join" tippen muss.

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-08 23:18
by dognose
Zusammenfassung:

Es sollen jeweils Partys + Bilder ausgelesen werden...

Auslesung der ersten Party;
Auslesung der zugehörigen Bilder;
ausgabe der zugehörigen bilder BIS alle da sind;
Auslesung der 2ten Party;
Auslesung der zugehörigen Bilder;
ausgabe der zugehörigen bilder BIS alle da sind;

deshalb brauch ich ja theoretisch 2 while schleifen...

wenn ihr euchs angucken woll: http://www.pic-zone.de.vu die "party/pic-overwiev"....

ich post mal den gesamten code wie ich es mir dacht.. (ist noch net ganz fertig, deshalb sind n paar readouts no net verbaut, sollte die funktion aber net stören:

Code: Select all

<table border=0 width="700" cellpadding="0" cellspacing="0">
	
	<?
	
	$sql 	 = "SELECT * FROM ppz_partys"; 
	$result  = mysql_db_query($db_name,$sql);
	while ($zeile = mysql_fetch_array($result))
	{
	
	$party_name= $zeile["party_name"];
	$kommentare= $zeile["kommentare"];
	$party =$zeile["party_short"];
	$shootaz =$zeile["shootaz"];
	$location =$zeile["location"];
	$root =$zeile["root"];?>
	<tr>
		<td><font color=white face=arial size=2><a href="pics_small.php?party=<?echo $party?>&kommentare=<?echo $kommentare?>"><?echo $party_name?></a> in <?echo $location?></font></td>
	</tr>
	<TR>
		<td><applet name="p1" code="fprotate.class" codebase="<?echo $root?>" height="75" width="100">
 				 <param name="rotatoreffect" value="dissolve">
 				 <param name="time" value="5">
  			     <?
	$sql 	 = "SELECT * FROM $party"; 
	$result  = mysql_db_query($db_name,$sql);
	while ($zeile = mysql_fetch_array($result))
	{
	$bild_id= $zeile["id"];
	$bild_url =$zeile["bild_url"];
	?>
				 <param name="image<?echo $bild_id?>" valuetype="ref" value="<?echo $bild_url?>_small.JPG">
 			<?}?>
		</applet>
		</td>
	</TR>
	<?}?>
</table>

Wenn ihr mich nun für belämmer haltet, kann ich das gut verstehen.... *G*

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-09 08:33
by robertw
Ungeachtet einer möglichen SQL-Lösung:

In der inneren Schleife "SELECT * FROM $party" darfst Du natürlich nicht die gleiche $result und $zeile verwenden, wie in der äußeren. Sonst wird der Wert von der inneren abgeändert und die äußere hat nichts sinnvolles mehr.

Nimm dort $result2 und $zeile2 oder ähnliches.

Hier:
$sql = "SELECT * FROM $party";
$result = mysql_db_query($db_name,$sql);
while ($zeile = mysql_fetch_array($result))
{
$bild_id= $zeile["id"];
$bild_url =$zeile["bild_url"];

Robert

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-09 08:37
by bobby
Hi!

Hast du die Bilder in einer eigenen Tabelle stehen?

Gruß

Boby

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-09 23:23
by dognose
Naja, jedes Bild hat seine eigene zeile in einer tabelle (mehrere partys=mehrer tabellen....

thx robert.. damit funktionierts..... Hätt ich auch selber noch drauf kommen können ... :oops:

danke .. gruss...

ps.: eine frage noch ... ist es möglich, zwei variablen zusammen zufügen ??

Code: Select all

$a = "Hallo_"
$b = "Welt"

$c =<?echo $a?><?echo $b?>
sodass:

Code: Select all

$c="Hallo_Welt"

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-09 23:27
by dognose
RobertW wrote:Hier:
$sql = "SELECT * FROM $party";
$result = mysql_db_query($db_name,$sql);
while ($zeile = mysql_fetch_array($result))
{
$bild_id= $zeile["id"];
$bild_url =$zeile["bild_url"];
Du musst aber alle diese hier ändern, damits tut:

$sql = "SELECT * FROM $party";
$result = mysql_db_query($db_name,$sql);
while ($zeile = mysql_fetch_array($result))
{
$bild_id= $zeile["id"];
$bild_url =$zeile["bild_url"];

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-10 07:31
by arty
Nur so als Tipp: Dein Code ist grausam.

bye
arty

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-10 08:35
by robertw
dognose wrote:Du musst aber alle diese hier ändern, damits tut:
Stimmt, den zweiten $result habe ich übersehen.

Der $sql ist zwar sinnvoll, aber nicht notwendig, da die Information in $result steht.

Robert

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-10 12:39
by suntzu
Hi,

überdenke als erstes mal dein Tabellendesign: Eine Tabelle pro Party??? Grauselig! Mach lieber eine Tabelle für die Partys, eine Tabelle für die Bilder mit einer Spalte, in der die ID der dazugehörigen Party eingetragen wird. Das erleichtert _ALLES_.

Ach ja, die Variablen:
$c = $a.$b

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-11 16:40
by dognose
arty wrote:Nur so als Tipp: Dein Code ist grausam.
Sicher nicht perfekt, hab aber noch alles Hinbekommen was ich wollte und mir alles Selber beigebracht...
sunTzu wrote:Eine Tabelle pro Party??? Grauselig! Mach lieber eine Tabelle für die Partys, eine Tabelle für die Bilder mit einer Spalte, in der die ID der dazugehörigen Party eingetragen wird. Das erleichtert _ALLES_.
Jo, werd ich ändern.. hätte das glei von anfang an machen sollen *g*
thx sunTzu!

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-11 16:45
by suntzu
Och,

nix geht über "Learning by doing". Beim nächsten mal weißt du es besser. Und außerdem:
Bei jedem Softwareprojekt kommt man irgendwann an einen Punkt, an dem man seinen kompletten Code neu schreibt.

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-11 17:53
by robertw
Frei nach Larry Wall (Entwickler von PERL):

Es gibt keine guten oder schlechten Lösungen - nur funktionierende und nichtfunktionierende.

:)

Robert

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-11 18:00
by suntzu
Das muss man bei Perl ja auch sagen *g*

SCNR,
Dominik

Re: MYSQL Auslesung in einer MYSQL Auslesung?!

Posted: 2004-03-11 21:56
by dognose
Der Satz ist echt mal fett... Stimmt 100prozent.....

Also, nochmal danke an alle, die mir geholfen haben, und natürlich auch an alle, die einfach nur so mitgepostet haben :-D