nein. denn die 1 kommt aus $i und hat ncihts mit der DB-ID zu tun
und warum bitte willst du die db noch einmal abfragen? die while macht doch schon alles, was sie soll.
ID's in Reihenfolge
Einklappen
X
-
Nuja, ich hab mir gedacht:
case 0 = vorherige id
case 1 = anzeige-id
case 2 = nächste id
und somit könnt man ja wieder ne mysql-abfrage starten, wo id=case 1 ist...
aber anscheinend funzt das alles net
Einen Kommentar schreiben:
-
was soll das den bewirken?
PHP-Code:$sql="SELECT * FROM adressen where id='$text'";
Einen Kommentar schreiben:
-
Hi,
funktioniert...
Ich weiß, jetzt werde ich ein bisschen blöde, kann nix selber denken, aber trotzdem:
Ähm ja, wenn ich bei ID2 bin, sagt er zurück id1 und vorwärts id34.
das stimmt auch. aber wenn ich bei id1 oder id34 bin, sagt er das selber.
Habe den Code über die while-schleife in der detail.php eingebaut.
PHP-Code:$aktuelle2 = $id+1;
$sql = "SELECT id FROM adressen LIMIT 0,3";
$res = mysql_query($sql) or die(mysql_error());
$i=0;
while ($z=mysql_fetch_assoc($res))
{
switch($i)
{
case 0 : $back = $z['id']; break;
case 1 : $text = $z['id']; break;
case 2 : $next = $z['id']; break;
}
$i++;
}
$sql="SELECT * FROM adressen where id='$text'";
if ($id==0) die("<tr><td>Das war der erste Eintrag</td></tr>");
$res=mysql_query($sql, $db);
while($adresse = mysql_fetch_object($res))
Einen Kommentar schreiben:
-
das x ist ja dynamisch. irgendwie brauchst du ja immer einen anderen anfangspunkt zum blättern. wenn du next drückst, muss das x ja eines nach oben genommen werden..
hier ein einfachen bespiel...PHP-Code:<?php
$sql = "SELECT id,text FROM tabelle LIMIT 0,3";
$rel = mysql_query($sql) or die(mysql_error());
$i=0;
while ($z=mysql_fetch_assoc($res))
{
switch($i)
{
case 0 : $back = $z['id']; break;
case 1 : $text = $z['text']; break;
case 2 : $next = $z['id']; break;
}
$i++;
}
echo 'back : '.$back.'<br />';
echo 'text : '.$text.'<br />';
echo 'next : '.$next.'<br />';
?>
Einen Kommentar schreiben:
-
also:
Limit x,3
3 = max. anzeige der einträge
x = ab wo
oder versteh ich was da falsch?
und dann mit for durchlaufen lassen (3x for)
haste zufällig nen kleinen beispielcode?
(Bei der suche, 17 seiten, hab ich bis jetzt noch nix g'scheites)
Einen Kommentar schreiben:
-
schau mal. du willst einen eintrag anzeigen. und einen back/next button haben.
Code:back | page | next id: 3 | 6 | 8
die id 3 speicherst du zwischen für den back-button ...
die id 6 gibst du aus und ...
die id 8 legst du auf den next button.
jetzt besser verstanden?
Einen Kommentar schreiben:
-
hmm
blick ich jetzt zwar net so ganz, aber ich schau mal in der Suche nach auto_increment
Einen Kommentar schreiben:
-
das bekommt man auch anders hin. siehe mein gb.... ;-) (siehe sig)
und dann lösche mal ein paar einträge raus. und es geht immer noch mit back/next .....
du musst dir eben LIMIT x,3 machen. von ersten und dritten wert merkst du dir die id für back und next und den zweiten eintrag gibst du aus. soviel dazu...
Einen Kommentar schreiben:
-
Hi,
das eigentliche Problem (warum des so sein soll) ist, dass man die datensätze eins vorher und eins nachher bekommen soll...
also link zum nächsten eintrag und link zum vorherigen...
Einen Kommentar schreiben:
-
in der detail.php
hast du im stmt "... ORDER BY id "
in der suche.php steht's noch nicht
Einen Kommentar schreiben:
-
1.
quasi sql. -> *VERSCHIEB*
2.
ist es nicht sinnvoll die ids erst einmal umzuschreiben. verwende schon die id aus der tabelle um die daten gezieht anzusprechen. wenn es dir nur um die ausgabe geht, mache innerhalb der while-ausgabe $i++ und gib $i aus. vor der while natürlich $i=0 nicht vergessen.
3.
suche mal im forum nach auto_increment und co. dort findest du schon ähnliche fragen. und allen habe wir eigentlich gesagt, dass es so 'mist' (nicht abwertend, sonder hilfreich, gemeint) ist, wie der gedanke ist...
Einen Kommentar schreiben:
-
ID's in Reihenfolge
Hallo,
ich weiß wieder nicht, wie ich das bewältigen soll... deswegen Frage an euch:
Ich habe 3 MySQL-Einträge. den ersten mit ID1, dann ID3 und ID34
Das Problem ist, dass sie in zusammenhängender Reihenfolge angegeben werden sollen.
Also wenn ich SUCHE und das ergebnis sehe, soll der link nicht "detail.php?id=1" und "detail.php?id=3" und "detail.php?id=34" lauten, sondern:
"detail.php?id=1", "detail.php?id=2", "detail.php?id=3" und so weiter (je mehr einträge)
Suche.php
PHP-Code:if ($search==1)
{
eval ("\$search1[nosearchword] = \"".gettemplate("search_nosearchword")."\";");
eval ("\$search1[noresult] = \"".gettemplate("search_noresult")."\";");
eval ("\$search1[kategorie] = \"".gettemplate("alpha_kategorie")."\";");
$sqlab = "select * from adressen where $radio1 LIKE '%$suche%'";
if($suche=="") { echo $search1[nosearchword]; }
else
{
$res = mysql_query($sqlab, $db) or die(mysql_error());
$anz_ds = mysql_num_rows($res);
if($anz_ds == 0){echo $search1[noresult];}else{
eval ("\$search1[resulttext] = \"".gettemplate("search_resulttext")."\";");
echo $search1[resulttext]; echo $search1[kategorie];
while($adresse = mysql_fetch_object ($res))
{
$rubrik[name]="<a href=detail.php?id=$adresse->id> $adresse->name</a>";
$rubrik[plz]="$adresse->plz";
$rubrik[ort]="$adresse->ort";
eval ("\$search_link_anzeige = \"".gettemplate("search_link_anzeige")."\";");
echo $search_link_anzeige;
}
}
Wobei des in der detail.php schon funktioniert (ich finds aber net, warum des da funzt )
detail.php
PHP-Code:<?php
include("config.php");
eval ("\$header = \"".gettemplate("header")."\";");
echo $header;
$rubrik = array();
//
//Anzahl der Einträge bestimmen
//
$maximum="0";
$sql="SELECT * FROM adressen ORDER BY id";
$res=mysql_query($sql, $db);
while($adresse = mysql_fetch_object($res))
{
$maximum++;
}
$aktuelle1 = $id-1;
$aktuelle2 = $id+1;
$sql="SELECT * FROM adressen ORDER BY nachname LIMIT $aktuelle1,1";
if ($id==$maximum+1) die("<tr><td>Das war der letzte Eintrag</td></tr>");
if ($id==0) die("<tr><td>Das war der erste Eintrag</td></tr>");
$res=mysql_query($sql, $db);
while($adresse = mysql_fetch_object($res))
{
$rubrik[name] = $adresse->name;
$rubrik[nachname] = $adresse->nachname;
$rubrik[adresse] = $adresse->adresse;
$rubrik[telefon] = $adresse->telefon;
$rubrik[email] = $adresse->email;
$rubrik[homepage] = $adresse->homepage;
$rubrik[beruf] = $adresse->beruf;
$rubrik[speziell] = $adresse->speziell;
$rubrik[rubrik] = $adresse->rubrik;
eval ("\$adressen = \"".gettemplate("adresse")."\";");
echo $adressen;
}
eval ("\$footer = \"".gettemplate("footer")."\";");
echo $footer;
?>
BIG THXStichworte: -
Einen Kommentar schreiben: