kostenloser Webspace werbefrei: lima-city


Einzelne Seiten für einen PHP Blog

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    unnamednetwork

    Kostenloser Webspace von unnamednetwork, auf Homepage erstellen warten

    unnamednetwork hat kostenlosen Webspace.

    Guten Tag,
    ich arbeite gerade an meinem Blog http://unnamednetwork.lima-city.de/cruxnoir/blog.php und habe mal wieder eine kleine Frage. Wie man auf der seite sehen kann habe ich schon einige Testposts geschrieben damit der blog schon ein wenig voller wurde. Jetzt würde ich gerne eine Funktion einbauen die es ermöglicht das nach einer bestimmten Anzahl von Posts automatisch eine neue Seite bzw. So etwas: http://img169.imageshack.us/img169/7576/bildschirmfotoej.png erstellt. Ich weiß das man diese in PHP schreiben muss und ich hätte auch schon danach im Netz gesucht wenn ich wüsste wonach ich suchen müsste. Hat jemand eine Idee wo man Tutorials, Infomaterial oder ähnliches finden kann das mir helfen könnte. Was mir eigentlich fehlt ist eine genaue Bezeichnung. Danke für eure Hilfe und einen schönen Tag noch.

    Beitrag zuletzt geändert: 14.10.2009 17:22:39 von unnamednetwork
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Ich gehe mal davon aus, dass du das ganze in einer mysql Datenbank abspeicherst.

    Dann kannst du über die LIMIT Funktion in deiner Mysql Query nur eine bestimmte anzahl von einträgen auslesen. Jetzt musst du nur noch über Links die jeweils die LIMIT Funktion beeinflussen angeben welche Einträge du ausgeben willst.

    mysql_query("SELECT * FROM Tab WHERE x="x" LIMIT $auslesen_ab_eintragx, $menge_einträge");
  4. Autor dieses Themas

    unnamednetwork

    Kostenloser Webspace von unnamednetwork, auf Homepage erstellen warten

    unnamednetwork hat kostenlosen Webspace.

    Uff. Wenn ich ehrlich bin verstehe ich kein Wort. Ich poste hier mal den Quellcode des Blogs. Wäre nett wenn Du mir eine genaue Beschreibung geben könntest wie, wo und warum ich etwas an einer bestimmten Stelle einfügen muss. Danke.

    mysql_connect("mysql.lima-city.de","+++++++++++","++++++++");
       mysql_select_db("++++++++++");
       $query ="SELECT entrytitle, entrytext,";
       $query.=" DATE_FORMAT(entrydate, '%M %d, %Y') AS date";
       $query.=" FROM weblog ORDER BY entrydate DESC LIMIT 10";
       $result=mysql_query($query);
       while (list($entrytitle,$entrytext,$entrydate) = 
        mysql_fetch_row($result)) {
           echo "<dt><b>$entrytitle ($entrydate)</b>";
           echo "<dd>$entrytext<br /></dd>";
           echo "<dd><center><img src='http://unnamednetwork.lima-city.de/cruxnoir/pics/ornament3.png'></center></dd></dt>";
       }
     ?>


    Beitrag zuletzt geändert: 14.10.2009 17:45:04 von unnamednetwork
  5. Was du suchst ist ein Seitenzahlscript. :-)
    Könnte in etwa so aussehen:
    $current_site = (isset($_GET["page"]) && $_GET["page"] > 1) ? $_GET["page"] : 1;
    $sql_all = mysql_query("SELECT * FROM table");
    $entries = mysql_num_rows($sql_all);
    define("MAX_ENTRIES",10,true);
    $sites = $entries/MAX_ENTRIES;
    $rest = $entries%MAX_ENTRIES;
    if($rest != 0)
      $sites++;
    if($entries > MAX_ENTRIES)
      {
      $nav.= "Seite ";
      for($i=1;$i<=$sites;$i++)
        if($current_site != $i)
          $nav .= "<a href='"?page=".$i."'>".$i."</a> ";
        else
          $nav .= "<u>".$i."</u> ";
      }
    $from = MAX_ENTRIES*$current_site-MAX_ENTRIES;

    (Dient nur zum Anzeigen der Seitenzahl mit verlinkungen auf die einzelnen Seiten.)

    Deine Query, in der du dann alle Einträge der aktuell aufgerufenen Seite auswählst, müsste dann in etwa so aussehen:
    mysql_query("SELECT * FROM table ORDER BY xxx LIMIT ".$from.",".MAX_ENTRIES.";");


    styVe (qap2-Team)

    Beitrag zuletzt geändert: 14.10.2009 17:54:20 von qap2
  6. Ist zwar nicht der schönste Code aber es klappt! Kannst ihn Dir dann ja umbauen.

    $t=15;  //Anzahl der anzuzeigenden Einträge
    $inhalt=mysql_query("SELECT ID FROM Tab WHERE x='$s'")or die("Fehler in Zeile ".__LINE__.": ".mysql_error());
    $c=@mysql_num_rows($inhalt); //Ermitteln der gesamt Anzahl aller Einträge
    $maxein=ceil($c/$t); //Ermitteln der benötigten Seiten
    if($e==0){$e=1;} //Wenn $e noch nicht definiert ...
    $emin=$e*$t-$t; //Errechnen 1. Anzuzeigender Eintrag
    if($maxein<$e){$emin=$e*$t-$t-$t;}
    for($i=1;$i<$maxein+1;$i++) //Erstellen des Menüs
      {
      if($i==$e)
        {
        echo "[$i]";
        }
      else
        {
       $emini=$e -($t+1);
       $emaxi=$e +($t+1);
       if(($emini < $i && $emaxi>$i))
    	{
    	echo "<a href='admin_vokabel.php?e=$i'>[".$i."]</a>"; //Hier kannst du natürlich auch Bilder einfügen...
    	}
        else
    	{
    	if($onmin!="on"&&$emini < $i)
    	  {
    	 echo "<a href='admin_vokabel.php?e=$i'>[&gt;]</a>";
    	$onmin="on";
    	 }
        if($onmax!="on"&&$emaxi > $i)
    	 {
    	echo "<a href='admin_vokabel.php?e=$i'>[&lt;]</a>";
    	$onmax="on";
    	}
         }
      }
    }
    $inhalt=mysql_query("SELECT * FROM Tab WHERE x ='$s' ORDER BY x LIMIT $emin,$t");//or die("Fehler in Zeile ".__LINE__.": ".mysql_error()); //Query für die Ausgabe...
  7. Autor dieses Themas

    unnamednetwork

    Kostenloser Webspace von unnamednetwork, auf Homepage erstellen warten

    unnamednetwork hat kostenlosen Webspace.

    Ok. Das mit dem Query habe ich jetzt verstanden und es funktioniert auch. habe es gerade getestet. Wenn ich eine kleine Zahl angegeben habe z.B. "2" wurden auch nur "2" Einträge angezeigt. Sieht jetzt so aus:

    $query.=" FROM weblog ORDER BY entrydate DESC LIMIT 7";


    Leider kommt jetzt noch eine Fehlermeldung bei der ich nicht genau weiß was gemeint ist.

    Fehler in Zeile 19: Table 'db_144726_6.Tab' doesn't exist


    Da scheint irgendwie ein "Tab" reingerutscht zu sein. Irgendeine Idee wie man die wieder herausbekommt? Danke.
    Hier noch einmal die betreffende Zeile.

    $inhalt=mysql_query("SELECT ID FROM Tab WHERE x='$s'")or die("Fehler in Zeile ".__LINE__.": ".mysql_error());




    Beitrag zuletzt geändert: 14.10.2009 18:20:08 von unnamednetwork
  8. unnamednetwork schrieb:
    Ok. Das mit dem Query habe ich jetzt verstanden und es funktioniert auch. habe es gerade getestet. Wenn ich eine kleine Zahl angegeben habe z.B. "2" wurden auch nur "2" Einträge angezeigt. Sieht jetzt so aus:

    $query.=" FROM weblog ORDER BY entrydate DESC LIMIT 7";


    Leider kommt jetzt noch eine Fehlermeldung bei der ich nicht genau weiß was gemeint ist.

    Fehler in Zeile 19: Table 'db_144726_6.Tab' doesn't exist


    Da scheint irgendwie ein "Tab" reingerutscht zu sein. Irgendeine Idee wie man die wieder herausbekommt? Danke.
    Hier noch einmal die betreffende Zeile.

    $inhalt=mysql_query("SELECT ID FROM Tab WHERE x='$s'")or die("Fehler in Zeile ".__LINE__.": ".mysql_error());





    Hast du eine Mysql Tabelle mit dem Namen Tab????
  9. Autor dieses Themas

    unnamednetwork

    Kostenloser Webspace von unnamednetwork, auf Homepage erstellen warten

    unnamednetwork hat kostenlosen Webspace.

    Nein, meine Datenbank hat die Bezeichnung "db_144726_6" ohne Tab. Verstehe jetzt aber gerade nich wo genau das Problem liegt.
  10. Du musst in die betreffende Zeile den Tabellennamen schreiben, in dem deine Einträge sind.
    $inhalt=mysql_query("SELECT ID FROM hier_den_tabellennamen_reinschreiben WHERE x='$s'")or die("Fehler in Zeile ".__LINE__.": ".mysql_error());


    styVe (qap2-Team)

    Beitrag zuletzt geändert: 14.10.2009 19:11:34 von qap2
  11. Genau das meinte ich! Tab war nur ein Platzhalter für den Namen deiner Tabelle!
  12. Autor dieses Themas

    unnamednetwork

    Kostenloser Webspace von unnamednetwork, auf Homepage erstellen warten

    unnamednetwork hat kostenlosen Webspace.

    Ah. Danke das hat geholfen. Ich jetzt eine neue Fehlermeldung bekommen. Das ist gut, denn es hilft mir das Problem weiter einzugrenzen.

    Fehler in Zeile 19: Unknown column 'ID' in 'field list'

    Ich habe die Fehlermeldung kopiert und bei Google eingegeben. Nach einiger Zeit bin ich auf diese Seite gestoßen: http://www.php-fehlermeldungen.de/topic54.html Ich habe darüber nachgedacht und einiges ausprobiert da ich nicht genau wusste was mit der ID genau gemeint ist. Ich habe jedoch herausfinden können das jeder Datensatz eine Identifikationsspalte mit der ID Bezeichnung hat. Meine Frage ist nun wie ich diese ID in PHP MyAdmin finden kann?

    Beitrag zuletzt geändert: 14.10.2009 21:33:47 von unnamednetwork
  13. Ich nehme mal an, die Spalte mit der Bezeichnung "x" existiert in deiner Tabelle auch nicht... also:
    $inhalt=mysql_query("SELECT ID FROM hier_den_tabellennamen_reinschreiben")or die("Fehler in Zeile ".__LINE__.": ".mysql_error());


    Eine Frage noch: hast du Ahnung von PHP? Damit meine ich: weißt du, wie so grundsätzliche Sachen funktionieren? Denn wenn nicht, würde ich dich einfach bitten, die Tabellenstruktur zu posten, damit ich den Code mit allen Anpassungen selbst kurz schreibe, statt hier zu versuchen Fernhilfe zu leisten und jede Code-Zeile einzeln zu korrigieren.

    styVe (qap2-Team)
  14. Autor dieses Themas

    unnamednetwork

    Kostenloser Webspace von unnamednetwork, auf Homepage erstellen warten

    unnamednetwork hat kostenlosen Webspace.

    Ich habe nur ein wenig Ahnung von PHP versuche aber so viel wie möglich zu lernen. Ich habe mit diesem Code die Tabelle erstellt. Hoffe das dieser dir weiterhilft. Danke noch einmal für deine Hilfe.

    CREATE TABLE weblog (
         entrydate TIMESTAMP PRIMARY KEY,
         entrytitle VARCHAR(100),
         entrytext TEXT);


    Beitrag zuletzt geändert: 14.10.2009 23:40:59 von unnamednetwork
  15. Ich versuche den Mysql Code Dir etwas zu erklären:

    mysql_query() ist eine Funktion die mit den Daten aus deiner Datenbank arbeitet. Damit kannst du sie erstellen, löschen, auslesen und verändern.

    Damit z.B. SELECT mit den Daten was anfangen kann mußt du eine Tabelle erstellt haben, was du mit dem geposteten Code ja auch machst. Jetzt hast du die Spalten "entrydate", "entrytitle" und "entrytext" die du z.b. über die SELECT Anweisung auslesen kannst. In meinem Beispiel hatte ich eine Spalte ID. Du must bei meinem Script wie auch schon die Tabelle auch die Spalten abändern.

    z.B.
    $inhalt=mysql_query("SELECT Spalte die ausgelsen werden soll, Noch eine Spalte,* für alle auslesen FROM Tabellen Name WHERE Voraussetzung='$Variable'")


    Wenn du keine Vorraussetzung hast kannst du den WHERE Teil auch weg lassen! Guck mal in die mysql Dokumentation! Da steht das alles drin erklärt!

    Für deine Datenbank mal ein Beispiel:

    $inhalt=mysql_query("SELECT entrydate FROM weblog WHERE entrytitle='Text' AND entrydate='12-10-2009' OR entrytext!=''")



    Jetzt würden alle Dadten der Spalte entrydate ausgelesen in denen entrytitle = Text und entrydate = 12-10-2009 oder entrytext ungleich leer ist.
  16. Autor dieses Themas

    unnamednetwork

    Kostenloser Webspace von unnamednetwork, auf Homepage erstellen warten

    unnamednetwork hat kostenlosen Webspace.

    Danke sehr für deine ausführliche Anleitung. Soweit habe ich das in den Grundzügen verstanden und den Code eingepflegt. Es gibt zwar immer noch ein kleines Problem aber ich will ersteinmal selber sehen ob ich es gelöst bekomme.

    Beitrag zuletzt geändert: 15.10.2009 8:24:00 von unnamednetwork
  17. 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!