phpbar.de logo

Mailinglisten-Archive

[php] Re: [ph] SUBSTRING_INDEX

[php] Re: [ph] SUBSTRING_INDEX

Bernd php at webdiseiner.net
Son Okt 26 14:57:44 CET 2003


Hallo Daniel,

<löst folgendes Vorgehen Dein Problem oder habe ich Dein Anliegen falsch
<verstanden?

<$queryHaupt = mysql_query("SELECT dateiname FROM nav WHERE hauptseite=1");
<while ($dataHaupt = mysql_fetch_assoc($queryHaupt)) {
<    echo 'haupt: '.substr($dataHaupt['dateiname'], 0, strpos('.')).'<br>';
<    $queryUnter = mysql_query("SELECT dateiname FROM nav WHERE
<seitenbezug='".$dataHaupt['dateiname']."'");
<    while ($dataUnter = mysql_fetch_assoc($queryUnter))
<        echo 'unter: '.$dataUnter['dateiname'].'<br>';
<}


vielen Dank für die Hilfe. Habe mich wohl nicht ganz exakt ausgedrückt.
Ich möchte alle hauptseiten, zu denen es auch unterseiten gibt, sowie die
dazugehörigen unterseiten.

1. select from nav where hauptseite = 0, das sind die namen der hauptseiten,
zu denen es auch unterseiten gibt

$res1 = mysql_query("select distinct seitenbezug from nav where hauptseite =
0 order by seitenbezug");
while($data = mysql_fetch_array($res1)) {
echo
'haupt:'.substr($data['seitenbezug'],0,strpos($data['seitenbezug'],'.')).'<b
r>';
// die hauptseiten werden richtig ausgegeben
// haupt:2
// haupt:3

//2. select from nav where "die Zahl vor dem _ des dateiname" = "die Zahl
vor dem . des seitenbezug"
$res2 = mysql_query("select * from nav where
SUBSTRING('dateiname',0,'".substr($data['seitenbezug'],0,strpos($data['seite
nbezug'],'_'))."') =
'".substr($data['seitenbezug'],0,strpos($data['seitenbezug'],'.'))."' ");
 while($unter = mysql_fetch_array($res2)) { echo
'unter:'.$unter['dateiname'].'<br>'; }
// die unterseiten werden aber nicht ausgegeben, die zweite Abfrage funzt
nicht
 }

Gruß Bernd


php::bar PHP Wiki   -   Listenarchive