kostenloser Webspace werbefrei: lima-city


Newsarchiv

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t*********************n

    Hallo,

    meiner erste Frage ist ob mir jemand bei einem Skript helfen kann? Ich habe so einen Grundgedanken:
    Ein Skript welches mir durch Ausgabe, einer Tabelle mit 'date' , einen Code erstellt, der ähnlich diesem ist(ist selbst geschrieben):
    <select name="datum" size="1">
    	<optgroup label="2008">
    		<option value="Okt08">Oktober</option>
    		<option value="Nov08">November</option>
    		<option value="Dez08">Dezember</option>
    	</optgroup>
    	<optgroup label="2009">
    		<option value="Jan09">Januar</option>
    		<option value="Feb09">Februar</option>
    		<option value="Maerz09">M&auml;rz</option>
    	</optgroup>
    </select>


    Jetzt brauch ich dazu noch ein Ausgabeskript, welches die übermittelten Daten auswertet.
    Diese Skript hab ich mir so vorgestellt:
    Es soll aus der Tabelle(mit welcher auch das oben erwünschte Skript arbeitet) alle Einträge raus sucht wo das Jahr und der Monat übereinstimmt.

    Ich weiß es ist anspruchsvoll, aber ich komme selber einfach nicht mehr weiter. sitze jetzt schon Tage daran und weiß nicht wie. Ich hoffe mir kann jemand helfen.

    Danke im voraus.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hallo,

    du hast nocht nicht viel mit PHP gemacht, oder (nicht böse gemeint)? Es ist sehr einfach.

    Nehmen wir mal an, du hast eine MySQL-Tabelle "articles" mit den feldern "date" und "text", "title", "id". In date steht das genaue datum (01.01.2009, 12:00:00 Uhr z.B, das wäre bei mysql der typ timestamp). In text steht der artikel. In title steht der title, der als suchergebnis angezeigt werden soll. id ist der index, anhand dessen ein eintrag eindeutig identifiziert werden kann.

    Schritt 1:
    Erstelle die tabelle mittels folgendem code, den du in phpmyadmin unter deiner datenbank->importieren als datei hochlädst:
    CREATE TABLE `test`.`articles` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `title` VARCHAR( 255 ) NOT NULL ,
    `article` TEXT NOT NULL ,
    `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 
    ) ENGINE = MYISAM

    Kleine erklärung noch: wenn du nun eine neue zeile (neuen artikel) einfügst, wird automatisch der aktuelle timestamp übernommen.
    Tu erstmal das, bevor du mit diesem kleinen tutorial weitermachst.
  4. tillorgias schrieb:
    Tu erstmal das, bevor du mit diesem kleinen tutorial weitermachst.

    Wenn das hier ein kleines Tutorial wird, verschiebe ich es ins Spamforum, denn das artet nur in Guldensammeln aus.
    Oder ihr klärt das bitte per PM. Vorerst bleibt der Thread aber hier stehen, vielleicht möchte sich ja noch jemand kreativ dazu äußern.
  5. Er hat recht, zieh mir von mir aus die gulden ab, habe ich kein problem mit.aber ich denke, bei so einem ausführlichen tut 10 gulden zu kriegen, ist nun nicht so dramatisch. falls es wen interessiert, der zweite teil:
    Nun zum zweiten teil.
    leg eine datei mit dem namen mysql.php an. Darin schreibst du folgendes:
    $host = "mysql.lima-city.de";
      $user = "USERxxxxx";                               // Benuztername eintragen!
      $pass = "passwort";                               // Passwort eintragen !
      $db =  "datenbankname";                      //Datenbanknamen ändern
      $dz = mysql_connect($host, $user, $pass);
      mysql_select_db($db, $dz);

    damit bauen wir eine verbindung zum mysql server auf. wir binden sie jedes mal ein, wenn wir mysql nutzen wollen.
    Nun brauchen wir eine datei namens search.php.
    Dort kommt erstmal folgendes hinein:
    <html>
    <form action="search.php?mode=query" method="post">
    <select name="datum" size="1">
    	<optgroup label="2008">
    		<option value="10.2008">Oktober</option>
    		<option value="11.2008">November</option>
    		<option value="12.2008">Dezember</option>
    	</optgroup>
    	<optgroup label="2009">
    		<option value="01.2009">Januar</option>
    		<option value="02.2009">Februar</option>
    		<option value="03.2009">M&auml;rz</option>
    	</optgroup>
    </select>
    <input type="submit" value="Absenden">
    </form>

    das ist erstmal die ganz normale ausgabe deines formulars. das wird auch bei der anzeige der suchergebnisse nun immer oben angezeigt. Weiterhin schreibst du:
    <?php
    if($_GET['mode'] == "query")
    {
            include("mysql.php");
            $sql = mysql_query("SELECT * FROM articles");
            while($ds = mysql_fetch_object($sql))
            {
                    $articleDate = date("m.Y", strtotime($ds->date));//datum ins richtige format bringen
                    if($articleDate == $_POST['datum'])//stimmt das datum?
                   {
                           echo "<a href=\"search.php?mode=show&id=".$ds->id.">";//Link bauen: die id wird übergeben
                           $fulldate = date("d.m.Y", strtotime($ds->date));
                           echo $ds->name.", zuletzt geändert am $fulldate</a><br>";
                   }
            }
    }

    So, jetzt müssen wir den artikel nur noch anzeigen.
    if($_GET['mode'] == "show")
    {
             $sql = mysql_query("SELECT * FROM articles WHERE id=".((int)$_GET['id']));//Anfrage abschicken
             $ds = mysql_fetch_object($sql);
             $fulldate = date("d.m.Y", strtotime($ds->date));
             echo $ds->name.", zuletzt geändert am $fulldate</a><br>";
             ?><center><?=$ds->name.", zuletzt geändert am $fulldate"?>
             <p><?=$ds->text?></p>
             <?php
    }
    ?>
    </body>
    </html>

    Fertig. Und, verdient die mühe nun ein paar gulden oder nicht? mehr solls nicht werden!
    Ich will jetzt aber auch kein streit anfangen. tu was du für richtig hälst.

    MFG Tillorgias
    PS: ich hoffe, es hat wenigstens geholfen.
  6. Hallo,

    ja, die gulden hast du verdient!
    Ich würde dieses tut aber eventuell irgendwie nicht ins forum sondern unter tutorials packen (allerdings etwas überarbeitet). Aber man kann ja keine mehr schreiben. vielleicht könntet sich unser moderator hier mal nützlich machen:wink:

    Grüße Meinerseits
  7. okirmis schrieb:
    Hallo,

    ja, die gulden hast du verdient!
    Ich würde dieses tut aber eventuell irgendwie nicht ins forum sondern unter tutorials packen (allerdings etwas überarbeitet). Aber man kann ja keine mehr schreiben. vielleicht könntet sich unser moderator hier mal nützlich machen:wink:

    Grüße Meinerseits

    Ich habe keinen Zugriff auf die Tutorials.

    Das Forum ist nicht dafür gedacht solche Anleitungen zu veröffentlichen, sondern auf spezifische Fragen einzugehen. Hat der Threadersteller sowas gefordert? Nein... also sollte es auch nicht gepostet werden, deswegen meinte ich das doch bitte per PM zu klären.
    Es geht auch gar nicht um die Gulden, die dabei verdient oder nicht-verdient werden. Es ist nett gemeint und macht auch viel Arbeit sowas zu schreiben, aber es ist einfach am Thema vorbei. Deswegen wollte ich das unterbinden.

    Von mir aus kann das hier aber so stehen bleiben.

    @okirmis
    Mit solchen Beiträgen machst du dich hier auch nicht grade beliebt (und antworte darauf einfach nix, es kann es nur schlimmer machen).
  8. 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!