Balauue.org / rise and shine!

Kategorien   

kategorie 20 kategorie 22 kategorie 26 kategorie 16 kategorie 24 kategorie 918 kategorie 14 kategorie 21 kategorie 27 kategorie 801 kategorie 783 kategorie 13 kategorie 28 kategorie 23 kategorie 17 kategorie 15 kategorie 18 kategorie 19 kategorie 25


TAGS


SUCHE


LINKS

i-devel


Mysql fördert den Wahnsinn!
26.07.07 | Webwork

Eigentlich sollte es eine ganz harmlose Funktion werden, die sich in 20-30 Minuten hinschreiben lassen sollte. Sollte! Ich wollte bzw. will den Link des iPods auf weggerockt.de, der zu den Tracks der Woche führt, dynamisch generieren lassen, statt ihn wie bisher per Hand einzufügen: Doch dann kam Mysql ins Spiel …

Nach 3 Stunden, Fragen an mehrere Personen, Blicke in mindestens 100 Manuals und 3 Milionen Google Suchen sowie Spielerein mit dem Sqldumper ist es mir dann doch geglückt:

head
Code als .txt

Wer die Funktion versteht und sie gebrauchen kann darf sie behalten.

Tags: , , , ,

12 Kommentare »

  1. icon

    Lachkater sagte am 26.07.07 um 20:32 ,

    Da wird einem ja schon vom hinsehen schlecht :ugly

    Zitieren
  2. icon

    Jamiro sagte am 26.07.07 um 20:40 ,

    Hast es also doch noch hinbekommen :) . Ich könnte das keinen Meter :x

    Zitieren
  3. icon

    René sagte am 26.07.07 um 21:14 ,

    Oh mein Gott. Auf sowas wäre ich im Leben nicht gekommen.

    Zitieren
  4. icon

    marcel sagte am 26.07.07 um 21:15 ,

    zum glück hab ich nicht so einen ipod. :hoho

    Zitieren
  5. icon

    basti sagte am 26.07.07 um 22:06 ,

    Bitte schreib:

    “SELECT ID FROM ” . $wpdb->posts . ” WHERE blabla…. “

    sieht hübscher aus, und variablen schreibt man nciht einfach so in den query ;)

    Zitieren
  6. icon

    Balu sagte am 26.07.07 um 22:26 ,

    Bitte schreib:

    “SELECT ID FROM ” . $wpdb->posts . ” WHERE blabla…. “

    sieht hübscher aus, und variablen schreibt man nciht einfach so in den query ;)

    Ich habe es gerade ausprobiert und einen Syntax Error entgegengeschleudert bekommen. Ich lasse es lieber so. Selbst die Macher von WordPress benutzen in der index.php vom wp-admin einen ähnlichen Code.

    Zitieren
  7. icon

    basti sagte am 26.07.07 um 22:55 ,

    wenns tut, dann tuts ;)
    ich verpack meine variablen immer so…

    aber ich habs nix gesagt ;)

    Zitieren
  8. icon

    Jonny sagte am 26.07.07 um 22:59 ,

    Sag mal, bist du dir mit urldecode sicher? Wenn du einen Link zB mit Leerzeichen hast, dann wird dieser mit urldecode in das HTML geschrieben und der Link wäre kaputt. Wenn du nun aber urlencode nimmst, wird aus Leerzeichen %20 und der Link bliebe valide.

    Zitieren
  9. icon

    Balu sagte am 26.07.07 um 23:23 ,

    Sag mal, bist du dir mit urldecode sicher? Wenn du einen Link zB mit Leerzeichen hast, dann wird dieser mit urldecode in das HTML geschrieben und der Link wäre kaputt. Wenn du nun aber urlencode nimmst, wird aus Leerzeichen %20 und der Link bliebe valide.

    Bin ich, da in Links zu pages und posts nie Leerzeichen sondern nur – vorkommen. Übrigens ist dieser Teil des Codes auch von einer vorhandenen WordPress Funktion abgeschaut.

    Zitieren
  10. icon

    Jonny sagte am 27.07.07 um 00:58 ,

    Ich kenne zwar nicht die WordPress-Tags, aber definitiv macht urldecode keinen Sinn, nur in Verbindung mit UrlEncode um Injections zu verhindern. Dazu schleppst du unnötig das $after mit.
    Aber was mich wundert ist, vor der whle-Schleife gibts du gegebenenfalls schon einen Link aus, das würde dann zur Ausgabe zweier Links in der Funktion führen. Ist dies gewollt? Wenn nicht, dann hätte ich folgendes im Angebot: (hoffe die Code-Tags funzen)

    function weekly_link() {
    global $wpdb;
    $page_id = (int) $wpdb->get_var("SELECT ID FROM ".$wpdb->posts." WHERE post_type = 'page' AND post_status = 'publish' AND post_parent = '13' ORDER BY post_date DESC LIMIT 1");
    $before = "http://www.weggerockt.de/";
    $page = get_page($page_id);
    $uri = urldecode($page->post_name)."/";
    while ($page->post_parent != 0 && $page->post_parent != $page->ID) {
    $page = get_page($page->post_parent);
    $uri = urldecode($page->post_name) . "/" . $uri;
    }
    echo $before.$uri;
    };

    Ich spreche hier nur als Webentwickler mit PHP-Erfahrung, nicht als WordPress-Bastler.

    Zitieren
  11. icon

    Balu sagte am 27.07.07 um 09:15 ,

    ich weiß scon worauf du hinaus willst. Ich will sowieso die Sache mit before und after noch ändern, indem ich mir den Pfad aus der Datenbank hole und den / so wie du einfach in Anführungsstrichen einfüge. der Urldecode Code ist so merkwürdig, da er entscheiden muss, ob wir eine unterseite oder Oberseite haben. Dieser Code stammt zu 90% aus der WordPress funktion get_page_link (irgendwie so hieß die).

    Ich habe den Code nun etwas abgeändert. (Bild und .txt sind geupdated)

    Zitieren
  12. icon

    Sari sagte am 27.07.07 um 11:15 ,

    respekt an die menschen, die so etwas können…*umfall*

    Zitieren

1 Pingback zum Artikel »



Smilies einblenden  Kommentare RSS   TrackBack URI

BALAUUE ♥ WORDPRESS, AMY&PINK & WEGGEROCKT.