hilfdirselbst.ch
Facebook Twitter gamper-media
Gunther103 S
Beiträge: 157
4. Jan 2005, 21:57
Beitrag #1 von 15
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo,

und noch ein Problem. Ich lese aus einer Datenbank Namen und Bildpfade aus. Die sollen auf meiner PHP-Seite an ganz bestimmten Stellen eingefügt werden.
Ich kenne nur die Lösung, daß ich für jeden Fall die Datenbank abfrage mit "select * from tabelle where id = $id". Das ergäbe für die seite rund 25 Abfragen. Wenn ich aber mit "Select * from tabelle" alle Daten auslese, hab ich die ja in einem Array. Wie muß ich "$text = $row[text];" erweitern, um eine bestimmte Zeile auszuwählen?

Gunther Top
 
X
Pozor
Beiträge: 892
5. Jan 2005, 09:58
Beitrag #2 von 15
Beitrag ID: #134021
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo Gunther,

hast du das ergebniss von mysql_query() ($result) dann fahre doch so weiter:

while($data = mysql_fetch_assoc($result))
{
//fill in your html
$htmloutput .= '<a href="'.$data['link'].'">'.$data['linktext'].'</a>';
//etc
}

oder so:
while($data = mysql_fetch_object($result))
{
//fill in your html
$htmloutput .= '<a href="'.$data->link.'">'.$data->linktext.'</a>';
//etc
}

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php
als Antwort auf: [#133958] Top
 
Gunther103 S
Beiträge: 157
5. Jan 2005, 13:38
Beitrag #3 von 15
Beitrag ID: #134096
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo Stefan,

so wie ich das sehe, werden die Daten jetzt einfach nacheinander ausgelesen. Wie weise ich aber z.B. den Datensatz mit der id="md"
einm bestimmten Bereich auf meiner Seite zu?
als Antwort auf: [#133958] Top
 
Pozor
Beiträge: 892
5. Jan 2005, 14:19
Beitrag #4 von 15
Beitrag ID: #134118
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo Gunther,

gib doch bitte etwas genauere infos was genau du erreichen möchtest.

Als tipp, wenn du ein bestimmter Datensatz an einem bestimmten Ort
einfügen willst, kannst du dies einfach in der Whileschleife tun,
indem du eine Variable füllst, die du nacher in dein Htmlkonstrukt
einfügst.

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php
als Antwort auf: [#133958] Top
 
Gunther103 S
Beiträge: 157
5. Jan 2005, 14:37
Beitrag #5 von 15
Beitrag ID: #134130
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Also,
so siehts aus:
Ich habe eine Seite, in der 15 Leuten vorgestellt werden. Da die immer mal wechseln bzw. die Texte immer wieder aktualisiert werden müssen, kommen die Namen, die Texte und die Bildpfade aus der Datenbank.
Wie weise ich jetzt aus dem Array die richtigen Datensätze zu. Der erste Mensch hat die z.B. die id="md", zu der der entsprechende Datensatz aus dem Array zugeordnet werden soll.

Gunther
als Antwort auf: [#133958] Top
 
Kusi
Beiträge: 1398
5. Jan 2005, 14:47
Beitrag #6 von 15
Beitrag ID: #134135
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo
Wie sieht denn das Konzept der Tabellen aus? Ich würde davon ausgehen, das jede Person in der Tabelle mehrere Felder hat z.B:
Name
Vorname
Anschrift
Text1
Text2
Bildlink
Funktion
id
Wenn du nun das Beispiel von pozor anwendest kannst du alle gewünschten Informationen zu den Personen entsprechend auslesen. Die while Schleife bedeutet, dass soviele Personen aufgeliestet werden, welche auch in der DB vorhanden sind.

Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign
als Antwort auf: [#133958] Top
 
Gunther103 S
Beiträge: 157
5. Jan 2005, 15:11
Beitrag #7 von 15
Beitrag ID: #134150
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo,
ich glaub ich steh wirklich auf dem Schlauch. Mit der Schleife kann ich alle daten auslesen. Das wäre ungefähr so:

text(md), name(md), bildpfad(md) usw.
text(me), name(me), bildpfad(me) usw.
text(mf), name(mf), bildpfad(mf) usw.

Wie aber bring ich das ins Layout? Eine Idee, die ich noch habe ist, die ausgelesenen Daten neuen eindeutigen Variablen zuzuordnen, so daß sie überall auf der Seite abrufbar sind. Beispiel:

$md_text=$text(md), $me_text=$text(me), $mf_text=$text(mf)

Ich glaub aber, daß das sehr kompliziert ist und es eine einfachere Lösung gibt
als Antwort auf: [#133958] Top
 
Kusi
Beiträge: 1398
5. Jan 2005, 15:35
Beitrag #8 von 15
Beitrag ID: #134161
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Na dann warten wir auf den Freudensprung, damit der Schaluch nicht noch fester gewürgt wird.
Die Einbindung in die Seite hat schon ihre Nase.... Hier mal eine Code Sequenz, wo die Abfrage schon geschehen ist ich hab noch ein paar Komentare rein geschrieben, die du löschen kannst

while($row=mysql_fetch_array($resultat))
{
//Diese Zeile enthält die html Anweisung in einer Tabelle eine neue Zeile einzufügen und der Anfang eines Links
echo "<tr><td align='center' valign='top' width='210'><a href='";

//Der Link enthält die Pfadangaben so wie die id der ausgelesenen Daten
echo $verzeichnisdetailseite.$row['id'];

//Ende des Links und Anfang des Tags fürs Bild
echo "' target='_blank'><img src='";

//Bildlink wir mit Pfad verbunden und der entsprechende Bildlink ausgelesen
echo $bildverzeichnis.$row['bildlinkk'];

//Das gleiche mit dem alttext
echo "' alt='".$row['alt']."' border='0'></a><span class='text'><br>";

//Der Text dazu
echo $row['text'];

echo "</span></td>";

//Hier noch eine Anweisung, dass nur drei Bilder pro Zeile angezeigt werden
$count = $count+1;
if($count % 3 == 0)
{
echo "</tr><tr><td colspan='3'><hr></td></tr><tr>";
}

}

Ich hoffe, es hilft dir was.

Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign
als Antwort auf: [#133958] Top
 
Gunther103 S
Beiträge: 157
5. Jan 2005, 16:02
Beitrag #9 von 15
Beitrag ID: #134183
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Mein Problem ist, daß ich mit den ausgelesenen Daten in einer Tabelle nichts anfangen kann. Ich habe immer die 15 Leute, die an ganz verschiedenen Plätzen in meiner Seite stehen und dazu sollen die Daten angezeigt werden.

$row=mysql_fetch_array($resultat))
$name = $row['name'];

Dieser Name ändert sich ja von Datensatz zu Datensatz. Ich will an einer bestimmten Stelle den Namen von md einfügen.
$name = $row['name' von 'id'='md'] oder
$name = $row['name'['md']]

Wie wird das richtig geschrieben?
als Antwort auf: [#133958] Top
 
Pozor
Beiträge: 892
5. Jan 2005, 16:11
Beitrag #10 von 15
Beitrag ID: #134190
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo,

schau dir doch mal das Htmldesign an, da nehm ich doch an du hast
eins erstellt oder?
wenn ja poste doch mal ein Link dazu.

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php
als Antwort auf: [#133958] Top
 
Gunther103 S
Beiträge: 157
5. Jan 2005, 17:50
Beitrag #11 von 15
Beitrag ID: #134245
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


hallo Stefan,

die html-Seite steht, allerdings ist das PHP noch nicht fertig.
Link: http://www.sundaynightorchestra.de/SNO/musiker.php

Ich hab die entscheidenden Stellen rauskopiert.
Die eckige Klammer in: <? $row[as1]->Bild ?> hab ich jetzt erfunden, aber vielleicht gehts ja so?

Abfrage:
<?php
mysql_select_db("$db");
$ergebnis = "SELECT * FROM musiker";
$result=mysql_query($ergebnis);
$row = mysql_fetch_object($result);
?>

Einfügen:
<td width="33%"><a href="musiker2.php?instrument=md"><img src=img/<? $row[md]->Bild ?> alt="<? $row[md]->Name ?>" height=82 width=100 border=0><br><? $row[md]->Name ?></a></td>

</tr>
<tr>
<td colspan="3"><hr><h6>Reeds:</h6></td>
</tr>
<tr>
<td width="33%"><a href="musiker2.php?instrument=as1"><img src="img/<? $row[as1]->Bild ?>" alt="<? $row[as1]->Name ?>" height="82" width="100" border="0"><br><? $row[as1]->Name ?></a></td>



Gunther
als Antwort auf: [#133958] Top
 
Kusi
Beiträge: 1398
5. Jan 2005, 18:11
Beitrag #12 von 15
Beitrag ID: #134250
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo
Wow, das ist ja schon zum wuseln....
1. Die Einträge brauchen eine Kategorie und die sind

Leiter
Reeds
Trombones
Trumpets
Rythm

2. Es braucht also fünf Abfragen
So werden alle Daten ausgelesen, die in der Kategorie leiter als eintrag haben.
$abfrage1 = Select * from musikertabelle where kategorie = leiter
Danach die Ausgabe des oder der leiter, wie in meinem Beispiel.

$abfrage2 Select * from muikertabelle where kategorie = reeds

usw.
du kannst die Daten dann mit der While Schleife ausgeben lassen, es sind ja zwischen 1 und 5 Einträge pro Kategorie


Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign
als Antwort auf: [#133958] Top
 
Gunther103 S
Beiträge: 157
5. Jan 2005, 19:59
Beitrag #13 von 15
Beitrag ID: #134266
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Genug gewuselt,

das klingt sehr gut. Dann werd ich das jetzt mal so machen.
Erstmal vielen Dank für das Geduldsspiel.

Gunther
als Antwort auf: [#133958] Top
 
Gunther103 S
Beiträge: 157
7. Jan 2005, 14:46
Beitrag #14 von 15
Beitrag ID: #134724
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Hallo,

ich hab weiter gewuselt und bin echt auf eine Lösung gekommen:

Ich mache folgende Abfrage:

<?php
$query="SELECT * FROM musiker";
$result=mysql("$db",$query);
$number=mysql_numrows($result);
$i = 0;
while ($i < $number) {
$row = mysql_fetch_array($result);
$instrument[$i] = $row[instrument];
$name[$i] = $row[name];
$i++;
}

Jetzt kann ich einfach durch

echo "<hr>$instrument[0], $name[1]";

alle Datenbankinhalte abrufen.

Uff
Gunther
als Antwort auf: [#133958] Top
 
Kusi
Beiträge: 1398
7. Jan 2005, 21:38
Beitrag #15 von 15
Beitrag ID: #134817
Bewertung:
(3731 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Array auslesen


Oder wie schon der alte Hui Mao Cheng sagte: manche Schweissperlen glänzen!

Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign
als Antwort auf: [#133958] Top
 
X