kostenloser Webspace werbefrei: lima-city


Array aus Tabellenzelle

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Ich habe eine mySQL Tabelle mit folgenden Daten ...

    ID  | Vorname      | Nachname
    1   | Max          | Mustermann
    2   | Berta        | Beispiel
    
    usw.




    ... und möchte:

    1) einen bestimmten Teil davon (Nachname) als Array ausgeben, damit dieser über die URL meine-seite.de/benutzer?nachname=Mustermann erreichbar ist. Wie setze ich das um bzw. was kommt in die mySQL Abfrage?

    2) einen Button zum Blättern. Wie also muss der entsprechende Code für einen JavaScript Button zum Blättern aussehen, wenn ich nur einen Eintrag pro Seite angezeigt haben möchte und der nächste Eintrag (mit der ID 2) per Klick auf "weiter" erscheinen soll (also IDs in aufsteigender Reihenfolge)?



    Gruß,
    webdesignerin :angel:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Die SQL-Abfrage gestaltet sich recht trivial:
    select *
    	from tabellen_name
    	where nachname = '$nachname';
    Wobei sich in $nachname der Inhalt von $_GET["nachname"] befindet. Die Verarbeitung erfolgt am einfachsten mit den Bibliotheken mysql oder mysqli. In der PHP-Doku findest du eine einfache Einführung in die Verwendung.

    Zur Darstellung würde ich jeden Benutzer in ein <div id="...">-Tag mit der Tabellen-ID als id einschließen. Mit Hilfe von CSS lassen sich zu Anfang alle unnötigen div's ausblenden (display: none;) und danach die gewünschten div's über ...style.display = "block"; wieder einblenden.
  4. Hi

    Es ist fast nicht rentabel wenn du für jeden Eintrag eine MySQL abfrage machen willst.

    Schau mal:

    $sql = mysql_query("SELECT * FROM deine_tabelle ORDER BY id DESC");
    $Mitarbeiter = mysql_fetch_array($sql);


    Dann bekommst du ein Array, mit allen Einträgen aus der Datenbank. Falls du aber mehr als 50 Mitarbeiter hast, schreib doch einen Begrenzer:

    $sql = mysql_query("SELECT * FROM deine_tabelle ORDER BY id DESC LIMIT 0,50");


    ORDER BY id DESC sagt das er die Tabelle nach der Spalte id in umgekehrter reihenfolge sortieren soll, falls die reihenfolge verkehrt ist, lass das DESC weg.
    LIMIT 0,50 heißt: 50 Datensätze beginnend ab 0.
    LIMIT 50,20 würde dann heißen 20 Datensätze beginnend ab 50.

    Ein einfaches Script ->
    $Datensatz = $_GET["id"];
    if(!empty($Datensatz))
     $Datensatz = 0;
    
    $sql = mysql_query("SELECT * FROM deine_tabelle ORDER BY id DESC LIMIT ".$Datensatz.",50"); 
    $Mitarbeiter = mysql_fetch_array($sql);
    
    foreach($Mitarbeiter as $key => $value)
     echo $value["Vorname"]." - ".$value["Nachname"]."<br/>";


    Villeich schaust du dir vorher dein Array "Mitarbeiter" mal an:

    echo "<pre>";
    print_r($Mitarbeiter);
    echo "</pre>";



    Edit:

    Um das ganze mit Javascript aufzuziehen, brauchst du entweder Ajax, oder du speicherst dein Array als Json in eine Variable:

    <script type="text/javascript">
    mitarbeiter = "<?php echo json_encode($Mitarbeiter);?>";
    
    alert(mitarbeiter[0].Nachname);
    alert(mitarbeiter[1].Nachname);
    </script>


    Ich habs nicht getestet, aber es müsste alle Grundlagen beinhalten die du benötigst, um ein Script entsprechend aufzubauen.

    Grüsse

    Beitrag zuletzt geändert: 11.1.2011 8:48:24 von glitzerglas
  5. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    glitzerglas schrieb:

    Es ist fast nicht rentabel wenn du für jeden Eintrag eine MySQL abfrage machen willst.


    Das habe ich mir auch schon gedacht. Deshalb fragte ich ja auch nach einer (eleganteren) Lösung.

    Leider bin ich immernoch am herumprobieren und komme ehrlich gesagt nicht so ganz mit Deinem Code klar. Das liegt weniger an Dir, sondern vielmehr an mir, wo ich mich nur selten und wohl nicht intensiv mit PHP genug beschäftig habe. Was die Lösung via Javascript oder Ajax angeht, so muss es keins von Beiden sein, weil ich auf keins von Beiden festlegen wollte. Ich wollte abschließend lediglich einen Button zum Blättern der Einträge nach ID. Daher hilft mir der Codeschnipsel für die Javascript Lösung so gut wie gar nicht (zumal Javascript nun gar nicht meine Baustelle ist). Nichts für Ungut und Danke für Deine anderen Impulse! :wink:


    Gruß,
    webdesignerin :angel:
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!