php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.10.2011, 11:29  
Neuer Benutzer
 
Registriert seit: 29.10.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
BigMcDonalds befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Datenbankabfrage/Ausgabe über Tabellenhead sortieren?

Hallo erstmal,

Ja, der Titel ist eventuell etwas blöd fromuliert, weiß aber icht, wie ich das besser hätte wählen sollen.
Um gleich mal zu zeigen, was genau mein Ziel ist, wäre ein Blick auf meine Seite notwendig:
http://kadett-info.de/kadett/modelle...elle_name.html

Die dort zu sehene Tabelle ist aktuell von Hand erstellt und auch die Sortierfunktion (Klicken auf die Überschriften) ist eigentlich ein Fake. Es ist, wie unschwer zu erkennen, nur ein Link zu einer identischen Seite mit einer ebenfalls von Hand sortierten Tabelle nach einem anderen Kriterium.

So viel dazu.
Was ich bisher habe, ist eine funktionierende Ausgabe der Daten, die identisch mit der offiziellen Version ist:
http://kadett-info.de/sondermodelle_name.php
Im Prinzip gibt es da keinen Unterschied.

Das Script sieht derzeit so aus:
PHP-Code:
<?php
mysql_connect 
[...]
mysql_select_db("Test-DB") or die ("Die Datenbank existiert nicht.");
$ergebnis mysql_query("SELECT * FROM sondermodelle_de ORDER BY name");
?>
<table width="1049">
<tr>
          <td width="155" class="tabellesortiert">Name</td>
          <td width="116" class="tabellesortieren"><a href="sondermodelle_jahr.html">Jahr</a></td>
          <td width="218" class="tabellesortieren"><a href="sondermodelle_karosserie.html">Karosserie</a></td>
          <td width="163" class="tabelle">Türen *</td>
          <td width="134" class="tabellesortieren"><a href="sondermodelle_modellart.html">Modellart</a></td>
          <td width="139" class="tabellesortieren"><a href="sondermodelle_seltenheit.html">Seltenheit **</a></td>
          <td width="92" class="tabelle">Details</td>
        </tr>
<?php
while($row mysql_fetch_object($ergebnis))
{
  
?>
  
        <tr>
        <td class="sortiert">
  <?php
  
echo $row->name;
  
?>
  </td>
  <td align="center" class="hintergrund">
  <?php
  
echo $row->jahr;
  
?>
  </td>
...
...
usw.
soweit klar und funktioniert ja auch einwandfrei.
Meine eigentliche Frage ist nun, wie ich es schaffe, dass ich die Tabelle nun über die ÜBerschriften sortierbar mache ohne weiterhin 5 Seiten mit dem eigentlich gleichen Inhalt zu erstellen.
Sicher könnte ich nun das Script entsprechend auf den 5 Seiten anwenden, aber das ist ja nicht der Sinn der Sache
Ich konnte auch nichts konkretes zu diesem Thema finden.

Ich hoffe ihr könnt mir helfen.

Gruß Chris

Geändert von BigMcDonalds (03.11.2011 um 18:54 Uhr).
BigMcDonalds ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.10.2011, 11:44  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Zitat:
Meine eigentliche Frage ist nun, wie ich es schaffe, dass ich die Tabelle nun über die ÜBerschriften sortierbar mache ohne weiterhin 5 Seiten mit dem eigentlich gleichen Inhalt zu erstellen.
Verstehe ich nicht zu 100%...wenn Du spaltenweise sortieren willst, kannst du das z.B. mit JQuery machen

http://tablesorter.com/docs/#Demo

oder direkt mit PHP + Blätterfunktion

http://www.administrator.de/wissen/T...PHP-23446.html

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 29.10.2011, 11:57  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

GET-Parameter sind dir ein Begriff? Wenn nicht: Grundlagen pauken
fab ist offline   Mit Zitat antworten
Alt 29.10.2011, 12:02  
Neuer Benutzer
 
Registriert seit: 29.10.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
BigMcDonalds befindet sich auf einem aufstrebenden Ast
Standard

jquerry setzt JavaScript voraus und das verwende ich auf meiner Seite nur für Dinge, die nicht für die Bedienungsfreundlichkeit der Seite geeignet sind.

Aber das Andere scheint das zu sein was ich Suche.
Ein Link in die Tabellen-Head-Zeile der die Seite neu lädt klingt nach dem was ich gesucht habe. Werde es mir mal in Ruhe durchlesen.

Danke erstmal. Für weitere Tipps bin ich natürlich Dankbar
BigMcDonalds ist offline   Mit Zitat antworten
Alt 29.10.2011, 12:04  
Erfahrener Benutzer
 
Benutzerbild von Delirius
 
Registriert seit: 07.07.2009
Beiträge: 215
PHP-Kenntnisse:
Anfänger
Delirius wird schon bald berühmt werden
Standard Datenbankabfrage/Ausgabe über Tabellenhead sortieren?

Hallo und willkommen!
Zitat:
Zitat von BigMcDonalds
$ergebnis = mysql_query("SELECT * FROM sondermodelle_de ORDER BY name");
Darin ist dein Ansatz erhalten...du sortierst aktuell statisch nach "name". Gib dem ORDER BY eine variable mit, die dann immer genau danach sortiert was gesendet wurde. Da hat dir fab bereits den Tipp gegeben.

Die Variable übergibst du dann eben per $_GET und die Abfrage wird dementsprechend sortiert.
__________________
LG Delirius

Ein Ring Sie zu knechten...
Delirius ist offline   Mit Zitat antworten
Alt 29.10.2011, 13:24  
Neuer Benutzer
 
Registriert seit: 29.10.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
BigMcDonalds befindet sich auf einem aufstrebenden Ast
Standard

Danke. Das sieht ja einfacher aus, als ich dachte. Nun muss ich das mit dem $_GET eigentlich nur noch für mein Script einbinden. Da scheitert es noch dran, weil die Beispiele die ich so gesehen habe eben nur auf ein Echo angewendet wurden ^^

Aber zumindest das Prinzip hab ich verstanden

Naja, wird schon



EDIT:

Habs tatsache hinbekommen, jetzt läuft das script
http://kadett-info.de/sondermodelle_...eit#themenhead
jetzt muss nur noch die Daten vom Server bearbeiten.

mh... Nun bleibt eine Frage offen.
Wenn ich jetzt die Sortierte Spalte färben möchte (also so wie es normalerweise für Name ist) müsste ich ne Menge Aufwand betreiben?
Das müsste man dann ja mit IF und ELSE etc. lösen, richtig?

Danke auf jeden Fall schonmal für die Hilfen, das hat mich weiter gebracht

Geändert von BigMcDonalds (29.10.2011 um 14:22 Uhr).
BigMcDonalds ist offline   Mit Zitat antworten
Alt 29.10.2011, 14:21  
Erfahrener Benutzer
 
Benutzerbild von Delirius
 
Registriert seit: 07.07.2009
Beiträge: 215
PHP-Kenntnisse:
Anfänger
Delirius wird schon bald berühmt werden
Standard Datenbankabfrage/Ausgabe über Tabellenhead sortieren?

Zitat:
Zitat von BigMcdonalds
Das sieht ja einfacher aus, als ich dachte.
Nur mal als kleines Beispiel, vielleicht hilft dir das zum Verständnis?!
PHP-Code:
<?php
include('db/db.php');

if(isset(
$_GET["sortierung"])){
    
// Wenn $_GET-Parameter gesetzt nimm ihn als Sortierung
    
$sortierung $_GET["sortierung"];
} else {
    
// Kein $_GET-Parameter gesetzt, default = Host
    
$sortierung "Host";
}

$sql mysql_query("SELECT
                                Host,User,Password
                    FROM
                                mysql.user
                    ORDER BY    
                                $sortierung
                    ASC"
);
?>
<table>
    <tr>
        <th><a href="test.php?sortierung=host" target="_top">Host</a></th>
        <th><a href="test.php?sortierung=user" target="_top">User</a></th>
        <th><a href="test.php?sortierung=password" target="_top">Password</a></th>
    </tr>
<?php
    
while($res mysql_fetch_assoc($sql)){
    echo 
"<tr>
            <td>"
.$res["Host"]."</td>
            <td>"
.$res["User"]."</td>
            <td>"
.$res["Password"]."</td>
          </tr>"
;
    }
?>
</table>
__________________
LG Delirius

Ein Ring Sie zu knechten...
Delirius ist offline   Mit Zitat antworten
Alt 29.10.2011, 14:26  
Neuer Benutzer
 
Registriert seit: 29.10.2011
Beiträge: 28
PHP-Kenntnisse:
Anfänger
BigMcDonalds befindet sich auf einem aufstrebenden Ast
Standard

Hallo, ja Danke
Hatte gerade den Beitrag darüber geändert. Hab es genau so dann auch gelöst.
Ich wusste mit dem $_GET nichts anzufangen und hab dann durch Zufall ein Beispiel zur Radius-Berechnung gefunden, wo das so ähnlich drin war:

PHP-Code:
<?php
  
// Default-Wert setzen und durch Benutzereingabe überschreiben, falls diese gültig ist
  
$radius 0;
  if (isset(
$_GET['r'])) { // wurde überhaupt ein Wert angegeben…
    
if (is_numeric($_GET['r'])) { // und ist er eine Zahl?
      
if ($_GET['r']) { // und ist der Radius positiv?
        
$radius $_GET['r']; // dann den Wert übernehmen
      
}
    }
  }
?>

QUELLE: http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_$_GET
daraus hab ich dann das gemacht:
PHP-Code:
<?php
  $sort 
0;
  if (isset(
$_GET['sort'])) { 
        
$sort $_GET['sort'];       
}
?>
BigMcDonalds ist offline   Mit Zitat antworten
Alt 29.10.2011, 14:27  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

@Delirius: Da fehlt der Hinweis darauf dass das zwar "funktioniert" aber in der Form nicht eingesetzt werden sollte (Anfällig für SQL-Injections, böse Sicherheitslücke!)

Ich empfehle die Auswertung des Parameters stattdessen mittels Whitelist, die Anpassung dazu ist minimal:
PHP-Code:
$erlaubte_spalten = array('name''jahr''karosserie'); // usw.
if(isset($_GET["sortierung"]) && in_array($_GET['sortierung'], $erlaubte_spalten)){
    
$sortierung $_GET["sortierung"];
} else {
    
$sortierung "Host";

fab ist offline   Mit Zitat antworten
Alt 29.10.2011, 14:31  
Erfahrener Benutzer
 
Benutzerbild von Delirius
 
Registriert seit: 07.07.2009
Beiträge: 215
PHP-Kenntnisse:
Anfänger
Delirius wird schon bald berühmt werden
Standard Datenbankabfrage/Ausgabe über Tabellenhead sortieren?

Zitat:
Zitat von BigMcDonalds
Wenn ich jetzt die Sortierte Spalte färben möchte (also so wie es normalerweise für Name ist) müsste ich ne Menge Aufwand betreiben?
Nöö, kein wirklich grosser Aufwand.

Prüf´ lediglich ab, ob die Variable zur Sortierung gesetzt ist, wenn ja, setz´ die entsprechende Hintergrundfarbe ein.

Zitat:
Zitat von BigMcDonalds
Ich wusste mit dem $_GET nichts anzufangen und hab dann durch Zufall ein Beispiel zur Radius-Berechnung gefunden, wo das so ähnlich drin war
So lange du auch verstanden hast, was da getan wird, ist alles gut

Zitat:
Zitat von fab
Da fehlt der Hinweis darauf dass das zwar "funktioniert" aber in der Form nicht eingesetzt werden sollte (Anfällig für SQL-Injections, böse Sicherheitslücke!)
Korrekt...ich wollte jetzt nur kurz´n Beispiel runter rattern, damit der TE versteht wie man $_GET einsetzt. Sollte nicht produktiv verwendet werden. Danke noch für den Hinweis.
__________________
LG Delirius

Ein Ring Sie zu knechten...
Delirius ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit CURL über Proxyserver Kerigen PHP-Fortgeschrittene 5 13.10.2011 17:26
Apache außerhalb des Rechners nur über IP aufrufbar Schnatterinchen Server, Hosting und Workstations 8 28.06.2011 11:34
Benutzerdefiniertes Sortieren gaxx PHP Einsteiger 12 29.05.2011 17:39
Tabellenausgabe sortieren mit Dropdown liste ahunzs PHP Einsteiger 10 23.05.2011 15:33
Datenbank über Notepad bearbeiten. Anthony70 PHP Einsteiger 4 21.04.2011 21:43
VB-Prog mit COM-Objekt über shell_exec aufgerufen bricht ab emtiqor PHP-Fortgeschrittene 5 04.04.2011 20:17
[Erledigt] Textdatenbank zeilenweise alphabetisch sortieren - Drop Down Menü alphabet UdoDirk PHP Tipps 2010 1 24.07.2010 10:45
[Erledigt] Summation über Unterabfragen - Mysql jume Datenbanken 20 30.05.2010 09:58
AD zugriff über PHP jared566 PHP Tipps 2010 6 12.05.2010 11:32
Tabelle nach Join sortieren xhiBseN Datenbanken 9 29.03.2010 10:52
Projekt: User über Intranetpage erstellen, auf einen VoIP-Server beta1234 PHP Tipps 2009 2 22.07.2009 13:21
win unter qemu über privoxy drieling Off-Topic Diskussionen 1 11.07.2008 11:16
Remote öffnen von txt über php? PHP-Fortgeschrittene 6 08.11.2005 22:58
im eigenen Bereich über das Internet drucken Soese PHP Tipps 2004-2 1 23.12.2004 22:40
Javascript über Javascript erstellen HTML, Usability und Barrierefreiheit 2 19.11.2004 18:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datenbankausgabe sortierbar machen, th anklicken zum sortieren php, mysql_fetch_assoc array sortieren php alphabetisch, datenbankabfrage per hostname benutzername und passwort vba, datenbankabfrage ausgabe in tabelle, user sortieren in html mit db abfrage, datenbankabfrage alphabetisch ordnen mit überschrift, datenbank abfrage sortieren, php datenbankabfrage überschriften, datenbankabfrage ausgabe, php a href datenbank abfrage, php sortier per datenbank, sortieren von datenbanken mit abfragen, html tabelle sortierfunktion, sortieren datenbanken php auswahl, datenbank abfrage sort, php daten aus datenbankabfrage sortieren, php tabelle sortieren mit ahref, tabelle sortieren datenbank, php datenbankabfrage vergleich

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum