PHP Frage
|
Verfasser |
Nachricht |
|
Beiträge: 145
Bewertung: 2
Registriert seit: Oct 2010
Status:
offline
|
PHP Frage
Hallo, undzwar bräuchte ich hilfe, ich habe ein code der was von der Datenbank ausgibt. Wenn ich diesen Code aufrufe zeigt er mir in der Tabelle vom Datenbank immer das Letze an.
http://picul.de/700x500/pm/nH4(!https)
Ich möchte das er mir aber immer die erste spalte zeigt.
Hier der Code:
<?php session_start(); include('_db.php'); //Verbindung aufbauen $db = mysql_connect($host, $dbuser, $dbpass); mysql_select_db($dbname,$db); if (!isset($_GET['User']) or empty($_GET['User'])) { die(include('nopage.php')); } elseif(!isset($_GET['Page']) or empty($_GET['Page'])) { $User = $_GET['User']; $erste = mysql_query("SELECT LinkName FROM ".$User); while($myrow=mysql_fetch_array($erste)) { $Page = $myrow['LinkName']; } } elseif($_GET['Page'] == "*") { die('Betrugsversuch entdeckt! Vorgang abgebrochen!'); } else { $User = $_GET['User']; $Page = $_GET['Page']; } $u2source = mysql_query("SELECT Username FROM user WHERE Username LIKE '%".$User."%'"); while($myrow=mysql_fetch_array($u2source)) { $User2 = $myrow['Username']; }
function umlautepas($string){ $upas = Array("ä" => "ae", "ü" => "ue", "ö" => "oe", "Ä" => "Ae", "Ü" => "Ue", "Ö" => "Oe"); return strtr($string, $upas); }
//Das Design des User auslesen $Design = mysql_query("SELECT Design FROM user WHERE Username = '$User';") or die('<h2>Die aufgerufene Seite existiert nicht.</h2>'); //Jetzt noch den Titel auslesen $Titel = mysql_query("SELECT Titel FROM user WHERE Username = '$User';") or die('<h2>Die aufgerufene Seite existiert nicht.</h2>'); $header = mysql_query("SELECT header FROM user WHERE Username = '$User';") or die('<h2>Die aufgerufene Seite existiert nicht.</h2>'); $footer = mysql_query("SELECT footer FROM user WHERE Username = '$User';") or die('<h2>Die aufgerufene Seite existiert nicht.</h2>'); //Meta-Tags $metadesc = mysql_query("SELECT metadesc FROM user WHERE Username = '$User';") or die('<h2>Die aufgerufene Seite existiert nicht.</h2>'); $metakey = mysql_query("SELECT metakey FROM user WHERE Username = '$User';") or die('<h2>Die aufgerufene Seite existiert nicht.</h2>'); $metaautor = mysql_query("SELECT metaautor FROM user WHERE Username = '$User';") or die('<h2>Die aufgerufene Seite existiert nicht.</h2>'); //Jetzt die Men�-Items auslesen $MenuItem = mysql_query("SELECT LinkURL FROM $User ORDER BY ID;") or $MenuItem = mysql_query("SELECT LinkURL FROM $User2 ORDER BY ID;"); $Anzahl = count($MenuItem); //Jetzt die aktuelle Seite auslesen $CurText = mysql_query("SELECT LinkText FROM $User WHERE LinkName = '".utf8_decode($Page)."' ORDER BY ID;") or $CurText = mysql_query("SELECT LinkText FROM $User2 WHERE LinkName = '".utf8_decode($Page)."' ORDER BY ID;");
//Let's rock! while($myrow=mysql_fetch_array($Design)) { $Userdesign = $myrow['Design']; } include('themes/' . $Userdesign . '.php'); mysql_close($db);
?>
|
|
08.08.2014 09:58 |
|
|
Beiträge: 334
Bewertung: 4
Registriert seit: Sep 2010
Status:
offline
|
RE: PHP Frage
Verstehe ich das richtig, du hast mehrere Spalten und möchtest nur die erste auslesen?
SQL bietet da eine ganze Palette
WHERE, LIMIT, ORDER BY
ich verstehe das Problem nicht.
PS:
$User = $_GET['User']; $erste = mysql_query("SELECT LinkName FROM ".$User);
SQL Inject?
SponsorBoard
GEIZ - Geil Ein Idiot Zahlt
Dieser Beitrag wurde zuletzt bearbeitet: 08.08.2014 10:07 von Scharock.
|
|
08.08.2014 10:04 |
|
|
Beiträge: 145
Bewertung: 2
Registriert seit: Oct 2010
Status:
offline
|
RE: PHP Frage
also wenn du diese seite aufrufst [Link: Registrierung erforderlich] kommst du zu der Textseite "Test5" obwohl dies ja ganz unten ist. Ganz oben wäre "Home" und ich möchte das mir immer der oberste gezeigt wird.
Home hat die ID nummer 6, und Test5 die ID nummer 11
|
|
08.08.2014 10:17 |
|
|
Beiträge: 334
Bewertung: 4
Registriert seit: Sep 2010
Status:
offline
|
RE: PHP Frage
also wenn du diese seite aufrufst [Link: Registrierung erforderlich] kommst du zu der Textseite "Test5" obwohl dies ja ganz unten ist. Ganz oben wäre "Home" und ich möchte das mir immer der oberste gezeigt wird.
Home hat die ID nummer 6, und Test5 die ID nummer 11
1. wieso? Ich denke,d ass hier Denkfehler ind er Umsetzung das Problem ist.
Lösung:
ORDER BY id ASC
SponsorBoard
GEIZ - Geil Ein Idiot Zahlt
|
|
08.08.2014 10:25 |
|
|
Beiträge: 206
Bewertung: 11
Registriert seit: Nov 2012
Status:
offline
|
RE: PHP Frage
elseif(!isset($_GET['Page']) or empty($_GET['Page'])) { $User = $_GET['User']; $erste = mysql_query("SELECT LinkName FROM ".$User); while($myrow=mysql_fetch_array($erste)) { $Page = $myrow['LinkName']; } }
Das ist der entsprechende Teil, richtig? So wie ich das sehe werden alle Einträge in der Tabelle durchgegangen und $Page wird andauernd überschrieben, bis die Schleife beim letzten Eintrag angekommen ist. Also die Abfrage auf ein Ergebnis limitieren.
Kaum macht man's richtig, schon funktionierts 
|
|
08.08.2014 10:26 |
|
|
Beiträge: 145
Bewertung: 2
Registriert seit: Oct 2010
Status:
offline
|
RE: PHP Frage
War ja klar das es so logisch ist Danke hat geklappt ^^
|
|
08.08.2014 10:34 |
|
|
Beiträge: 334
Bewertung: 4
Registriert seit: Sep 2010
Status:
offline
|
RE: PHP Frage
elseif(!isset($_GET['Page']) or empty($_GET['Page'])) { $User = $_GET['User']; $erste = mysql_query("SELECT LinkName FROM ".$User); while($myrow=mysql_fetch_array($erste)) { $Page = $myrow['LinkName']; } }
Das ist der entsprechende Teil, richtig? So wie ich das sehe werden alle Einträge in der Tabelle durchgegangen und $Page wird andauernd überschrieben, bis die Schleife beim letzten Eintrag angekommen ist. Also die Abfrage auf ein Ergebnis limitieren.
$erste = mysql_query("SELECT LinkName FROM ".$User."ORDER BY id ASC LIMIT 1");
SponsorBoard
GEIZ - Geil Ein Idiot Zahlt
|
|
08.08.2014 10:34 |
|
|
Beiträge: 145
Bewertung: 2
Registriert seit: Oct 2010
Status:
offline
|
RE: PHP Frage
Eigentlich ja logisch ... typisch die einfachen sachen kommen nicht in den Kopf XD DANKE !!!!!!
|
|
08.08.2014 10:37 |
|
|
Beiträge: 3.413
Bewertung: 33
Registriert seit: Oct 2010
Status:
offline
|
|
08.08.2014 12:34 |
|
|