Ordnen geht nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alter ergebnis
ausgeben
auslese
auswahl
bedingung
break
datum
ergebnis
ersten code
fehlermeldung
folgenden code
gesamt anzahl
limit
not
ordern
ordnen
sicher stellen
start
switch
url
-
Der Code bei der Ordnung, die nicht funktioniert:
elseif ( $_GET['order'] == 'alter' )
{
$ergebnis = 'SELECT * FROM user '.$bedingung.' ORDER BY alter ASC';
}
Bei dem folgenden Code funktioniert alles:
elseif ( $_GET['order'] == 'nick' )
{
$ergebnis = 'SELECT * FROM user '.$bedingung.' ORDER BY nick';
}
Fehlermeldung beim ersten Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in URL on line 121
Es ist aber sicher, dass es in "user" eine Tabelle mit dem Namen "alter" gibt >__< -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
so ich kopier hier mal meinen ganzen code rein ;D
such dir das raus was du brauchst
achtung es k?nnte sein, dass bruchst?cke oder funktionen fehlen, dann bitte posten hab kein bock alles zu ?berpr?fen ;)
also hier nen ganzes ordnen ding :)
// Spalten in Tabelle auslesen
function rows($tabelle) {
if($tabelle=='showlist') {
$tabelle = "user";
}
$query = mysql_query("SELECT * FROM `$tabelle`");
$rows = mysql_num_rows($query);
return $rows;
}
// Seiten Auswahl
function seiten_auswahl($seite, $seiten_link, $seiten, $eintraege_link) {
$prev_seite = $seite-1;
$next_seite = $seite+1;
$seiten_auswahl = '<br \><hr \>';
echo '<table>';
echo '<tr><td>';
if($prev_seite > '0') {
echo '<a href="'.$seiten_link.'&seite='.$prev_seite.'">vorherige Seite</a>';
}
echo '</td><td>';
if($next_seite <= $seiten) {
echo '<a href="'.$seiten_link.'&seite='.$next_seite.'">n?chste Seite</a>';
}
echo '</td></tr>';
echo '<tr><td>';
// Seiten auswahl Men?
echo '<form name="seiten" action="#"><input type="hidden" name="sid" value="" /><input type="hidden" name="sid" value="" />';
echo 'Seite :<br \>';
echo '<select name="url" OnChange="top.location.href=document.seiten.url.value;">';
echo '<option value="#">[Bitte W?hlen]</option>';
for ($i = 1; $i <= $seiten; $i++) {
echo '<option value="'.$seiten_link.'&seite='.$i.'">'.$i.'</option>';
}
echo '</select>';
echo '</form>';
echo '</td><td>';
// Eintr?ge auswahl Men?
echo '<form name="eintraege" action="#"><input type="hidden" name="sid" value="" /><input type="hidden" name="sid" value="" />';
echo 'Eintr?ge pro Seite :<br \>';
echo '<select name="url" OnChange="top.location.href=document.eintraege.url.value;">';
echo '<option value="#">[Bitte W?hlen]</option>';
for ($i = 10; $i <= 100;) {
echo '<option value="'.$eintraege_link.'&eintraege='.$i.'">'.$i.'</option>';
$i = $i+10;
}
echo '</select>';
echo '</form>';
echo '</td></tr>';
echo '</table>';
return $seiten_auswahl;
}
/* GET Variablen ?ndern */
// zum ordnen
if(isset($_GET["seite"] )) { $seite = htmlspecialchars($_GET["seite"] ); } else { $seite = "1"; }
if(isset($_GET["eintraege"] )) { $eintraege = htmlspecialchars($_GET["eintraege"] ); } else { $eintraege = "10"; }
if(isset($_GET["order"] )) { $order = htmlspecialchars($_GET["order"] ); } else { $order = "views"; }
if(isset($_GET["sc"] )) { $sc = htmlspecialchars($_GET["sc"] ); } else { $sc = "DESC"; }
// Gesamt Anzahl der Eintr?ge auslesen
if($action=='bugs_topics' || $action=='bugs_posts' || $action=='showlist') {
$eintraege_gesamt = rows($action);
}
// Seite
if($seite < '0' && $seite > $eintraege_gesamt) {
$seite = "1";
}
// Eintr?ge pro Seite
if($eintraege < '9' && $eintraege > '100') {
$eintraege = "10";
}
// abw?rst oder aufw?rts
switch($sc) {
case DESC:
$sc = 'DESC';
$sc2 = 'ASC';
break;
case ASC:
$sc = 'ASC';
$sc2 = 'DESC';
break;
default:
$sc = 'DESC';
$sc2 = 'ASC';
break;
}
switch($order) {
case id:
$order = "id";
break;
case views:
$order = "views";
break;
case nick:
$order = "nick";
break;
case datum:
$order = "datum";
break;
default:
$order = "views";
break;
}
// LIMIT definieren
$start = $eintraege*$seite-$eintraege;
$seiten = ceil($eintraege_gesamt/$eintraege);
// Links setzten
$link = '?action=showlist&seite='.$seite.'&eintraege='.$eintraege.'&sc='.$sc2.'';
$seite_link = '?action=showlist&eintraege='.$eintraege.'&sc='.$sc.'&order='.$order.'';
$seiten_link = '?action=showlist&eintraege='.$eintraege.'&sc='.$sc.'&order='.$order.'';
$eintraege_link = '?action=showlist&seite='.$seite.'&sc='.$sc.'&order='.$order.'';
$suche_link = '?action=showlist&seite='.$seite.'&eintraege='.$eintraege.'&sc='.$sc.'&order='.$order.'';
// Ausgeben
echo '<table border="1" width="70%">';
echo '<tr><td><a href="'.$link.'&order=id">#ID</a></td><td><a href="'.$link.'&order=nick>User</a></td><td><a href="'.$link.'&order=views">Handys</a></td><td><a href="'.$link.'&order=datum">Anmeldedatum</a></td></tr>';
$result = mysql_query("SELECT * FROM `user` ORDER BY `$order` $sc LIMIT $start, $eintraege");
while($row = mysql_fetch_assoc($result)) {
echo '<tr><td>'.$row[id].'</td><td><a href="?action=user&id='.$row[id].'">'.$row[nick].'</a></td><td>'.$row[views].'</td><td>'.$row[datum]).'</td></tr>';
}
echo '</table>';
// Seitenazswahl
echo seiten_auswahl($seite, $seiten_link, $seiten, $eintraege_link);
so ich hoffe ich konnte dir ein wenig arbeit ersparen :D
das ganze l?uft unter http://www.handyklau.de.gg/?action=showlist
;) -
Erm, naja. EIgentlich nicht, denn ich wei? ja, wie man sortiert. Nur funktioniert es ja (mir noch immer nicht klar warum) bei dieser einen M?glichkeit nicht -.-
-
oh h?t ich fast vergessen
so muss es heissen :
elseif ( $_GET['order'] == 'alter' )
{
$ergebnis = 'SELECT * FROM user '.$bedingung.' ASC ORDER BY alter';
}
-
Hallo hts!
mysql_query() hat keinen g?ltigen "SQL-Result" zur?ckgegeben. Bevor du eine solche Variable an mysql_fetch_array() ?bergibst, solltest du sicher stellen, dass sie g?ltig ist:
$result = mysql_query(...);
if(!$result === FALSE) {
// hier Fehlermeldung ausgeben
// oder mysql_error() anzeigen lassen
die();
}
$blubb = my_sql_fetch_array($result);
MfG
alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage