ilch Forum » Allgemein » HTML, PHP, SQL,... » db_make_sites

Geschlossen
  1. #1
    User Pic
    mabu Mitglied
    Registriert seit
    25.08.2012
    Beiträge
    15
    Beitragswertungen
    0 Beitragspunkte
    hallo

    ich versuche gerade meine ersten Schritte zum eigenen Modul.

    Im prinzip nichts anderes als eine Songliste.

    Was habe ich bisher gemacht.

    Ich schreibe über das Backend formular meine Songs in die Datenbank, die dort mit id, titel, kommentar, gespeichert werden.

    Ausgabe des contents funktioniert auch.

    Wo es hapert ist die Verteilung auf x seiten.

    Irgendwie verstehe ich die funktion db_make_sites nicht?
    Im Handbuch steht:
    db_make_sites ($page ,$where ,$limit ,$link ,$table);

    $seite = db_make_sites (3, "WHERE `id` = '$row->id'" , 2 , '?songlist', 'songlist');


    Ich habe jetzt bei page und limit einfach mal zwei Werte genommen, weil ich eben nicht genau weiß was es bedeutet.

    ich hoffe ihr könnt mir etwas helfen
    danke

    betroffene Homepage: keine.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    MVN050 Mitglied
    Registriert seit
    20.09.2008
    Beiträge
    1.273
    Beitragswertungen
    29 Beitragspunkte
    da gibt es doch eine einfachere funktion
    schade das jetzt meine seite down ist sonst könnt ich mal nachkucken:(

    da gibt es eine funktion das du
    www.deineseite.de/index.php?songliste-1
    schreiben kannst und das du dan die 1 als erste seite nimmst

    die eins kannst du auch speichert und mit im code einbauen...
    ich glaube das steht auch in der dokumentation hier auf der seite wenn nicht kuck ich gleich mal bei mir im code

    aber eine songliste? es gibt doch genug songlisten warum eine eigene? lachen ich bin musiker ich weiss das xD
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    mabu Mitglied
    Registriert seit
    25.08.2012
    Beiträge
    15
    Beitragswertungen
    0 Beitragspunkte
    Super, bin für jede Hilfe dankbar.

    Songliste nur deshalb, weil mir nichts leichteres eingefallen ist, an dem ich meine Ersten Versuche starte.

    Ich habe mir auch die doku nochmal angeschaut, finde nichts!

    vorallem, kann oder muss ich das in mein $tpl->set_out angeben ??


    Zuletzt modifiziert von mabu am 25.08.2012 - 16:05:32
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    MVN050 Mitglied
    Registriert seit
    20.09.2008
    Beiträge
    1.273
    Beitragswertungen
    29 Beitragspunkte
    vllt solltest du dir mal dne quellcode von
    memberliste
    oder auch vom forum ankucken weil da gibt es auch immer mehrere seiten???


    hier mal der code von meinem videomodul
    $query = db_query('SELECT * FROM prefix_video WHERE id = "'.$uid.'"');


    undzwar pass auf ich hab 3 datein gemacht
    eine ist in
    include/video.php
    der code sieht so aus
    defined ('main') or die ( 'no direct access' );
    
    # menu
    require_once('include/contents/forum/menu.php');
    
    switch($menu->get(1)) {
      default :                      $userDatei = 'videos';         break;
    	case 'video'      : case 1  : $userDatei = 'video';            break;
    	case 'confirm'               : $userDatei = 'confirm';           break;
    
    }
     
    require_once('include/contents/videos/'.$userDatei.'.php');
    
    
    ?>

    das bedeutet jetzt
    gehts du auf
    www.deineseite.de/index.php?videos
    wird diese datei angezeigt...
    wie du aus diesem code erkennen kannst wird die datei /include/videos/videos aufgerufen weil du auf der default seite bist lachen
    wegen diesem code hier
       default :                      $userDatei = 'videos';         break;

    default bedeutet hierbei
    welche datei soll aufgerufen werden wenn www...de/index.php?video aufgerufen wird?

    rufst du jetzt
    www.seite.de/index.php?videos-videos auf
    wird die datei
    include/videos/videos (mit s)
    aufgerufen

    auf
    www...index.php?videos-video
    wird die datei
    include/videos/video.php
    aufgerufen
    aber achtung lachen jetz kommts xD
    rufst du www...index.php?videos-video-1
    auf wird die 1 gespeichert
    ich benutze die 1 zb um die id 1 vom video aufzurufen
    also ich lese die id1 von der datenbankid video auf
    der code dafür ist
    "'.$uid.'"


    das ganze mit der id1 kannst du ja mit 10 oder so machen
    und anstand id zeigst du eben nur die ersten 10 ids von deiner songtesten an zwinker

    etwas dumm beschrieben ich kucke auch gleich nochmal drüber ob alles richtig geschrieben is lachen
    auf diese weisse kannst du vllt eine list mit songtesten erstellen und wenn man auf ein song klinkt bekommt man den text zum mitlesen zwinker


    Zuletzt modifiziert von MVN050 am 25.08.2012 - 16:33:25
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    mabu Mitglied
    Registriert seit
    25.08.2012
    Beiträge
    15
    Beitragswertungen
    0 Beitragspunkte
    vielen Dank ich setze mich heute dran ! lächeln
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Um mal zum eigentlichen Thema vorbei zu kommen.

    $limit ist die Anzahl von Einträgen pro Seite
    und
    $page die Seite auf der du dich gerade befindest.

    Im ganzen Skript, wird es im Grunde dann so gemacht.

    $page = $menu->getA(1) == 'p' ? $menu->getE(1) : 1;


    Was soviel heißt: Wenn im 2. Abschnitt der Adresszeile der erste Buchstabe p ist, dann nehme den 2. Teil als "Seite", sonst 1.

    Wenn du also index.php?songlist-p3 hast, wäre das dann Page 3, damit macht die db_make_sites Funktion dann, auf welcher Seite es ist.

    Du musst dann allerdings noch selbst, bei der "Hauptabfrage" das Limit ändern, um wirklich nur Einträge der 3. Seite anzuzeigen.
    Du solltest dir dazu einfach mal vorhandene Module anschauen, wo das benutzt wird, wie z.B. die News.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    mabu Mitglied
    Registriert seit
    25.08.2012
    Beiträge
    15
    Beitragswertungen
    0 Beitragspunkte
    halli hallo

    also ich bin jetzt einen Schritt weiter.

    $limit = 5;
    $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    $mpl = db_make_sites ($page, "WHERE def='0' ORDER by sort" , $limit , '?songlist', 'songlist');
    $anfang = ($page - 1) * $limit;


    damit werden meine Einträge auf die Seiten verteilt die ich mit:
    index.php?songlist-pX
    auch abrufen kann.

    Jetzt fehlt mir noch das der SITELINK ! traurig

    Da ich (noch) nicht mit einem Extra Template arbeite, weiss ich nicht wie ich
    $tpl->set_out('SITELINK', $MPL,1);

    sonst benutze um mir die Seitenlinks auch anzeigen zu lassen.

    Jemand einen Tip ?
    vielen Dank!
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    echo $MPL;
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    mabu Mitglied
    Registriert seit
    25.08.2012
    Beiträge
    15
    Beitragswertungen
    0 Beitragspunkte
    Hallo,

    das habe ich schon versucht, da wird mir nichts angezeigt. traurig

    könnte den Wert natürlich per for schleife erhöhen lassen, aber das ist ja nicht Sinn der Sache ! lächeln


    Zuletzt modifiziert von mabu am 10.09.2012 - 09:17:03
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Hast du auch schon echo $mpl; versucht? zunge
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    mabu Mitglied
    Registriert seit
    25.08.2012
    Beiträge
    15
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Mairu

    Hast du auch schon echo $mpl; versucht? zunge


    ohhh man!
    Eindeutig zu lange dran gesessen.

    vielen vielen Dank, das war es. lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten