Beiträge von TanjaP.

    Ich habe eine Datenbank mit Daten von Hunden. Jetzt möchte ich ermitteln wieviele Würfe in einem Jahr gefallen sind.

    das gibt mir das year, den kennelname und die Anzahl der Babys (anzahl):

    Code
    2004 - Zwinger A - 8 Welpen
    2004 - Zwinger B - 2 Welpen
    2004 - Zwinger C - 5 Welpen
    2004 - Zwinger A - 3 Welpen


    Gruppiere ich nach year, erhalte ich die Anzahl aller Babys in einem Jahr.

    Code
    2004 -  18 Welpen


    Soweit gut... - jetzt möchte ich die Anzahl der Würfe pro Jahr haben.
    Es kann aber sein, das zwei Würfe a.) am gleichen Tag geboren sind b.)die gleiche Mutter haben oder c.)beim gleichen Züchter geboren sind. Somit scheidet die COUNT DISCTINCT Variante aus....
    Ergebnis soll sein

    Code
    2004 -  4 Würfe

    Meine Seite läuft mit einem Login über eine Mysql-Datenbank mit cookies und sessions. Die Passwörter der User werden MD5 gespeichert.

    Jetzt hätt ich gern ein Forum dazu, aber fertige wie mybb oder phpbb haben ihre jeweils eigene Userverwaltung und sind mit meiner nicht kompatibel.

    Ich möchte nicht, das sich die User zweimal anmelden müssen (Seite und Forum), möchte aber auch nicht die komplette Seite vom Login des Forums abhängig machen (also "meinen" Login rausschmeissen und dafür das Foren-Login nehmen).
    Gibt es recht gute Alternativen? Muss keine Mega-Funktionen haben, nur so das wichtigste...
    Danke für Tipps ;)

    Das Problem war nicht, die Session-Variable zu setzen, sondern das umschreiben wenn eine weitere Variable dranhängt.

    Code
    aus
    http://www.bla.com/dog.php?lang=en&id=14444
    sollte werden
    http://www.bla.com/dog.php?lang=de&id=14444

    und das es nicht auf zwei Sprachen begrenzt ist ;)

    Die Variante mit der zweiten Variablen benötige ich auf der gesamten Seite zwei mal. Alle anderen Seiten haben nur die Sprachauswahl "dran". Ich habe eine Lösung gefunden:

    PHP
    if ($_SERVER['PHP_SELF'] == "/dog.php") 
    {echo '<dd><a href="'.$_SERVER['PHP_SELF'].'?lang=en&id='.$givenid.'">English</a></dd>';} 
    else {echo '<dd><a href="'.$_SERVER['PHP_SELF'].'?lang=en">English</a></dd>';}


    ok, nicht ok, ganz böse??

    per modrewrite umschreiben später ;)

    folgende url:

    Code
    http://www.bla.com/dog.php?lang=en&id=14444

    Und wenn ich jetzt über das Menu die Sprache ändern möchte? Auf einer "normalen" Seite funktioniert das mit

    Code
    <a href="?lang=de">Deutsch</a>


    hier aber nicht, da ja noch die id dranhängt...
    Im Menu kann ich ja nicht im Link die id dranhängen, hab auch noch andere Seiten :D
    Geht das überhaupt?

    Ich drück es mal so aus:
    bei der Datnbankvariante könnte ich auf Anhieb sehen, wo in welcher Sprache noch keine "Variable" hinterlegt ist (da das Feld dann einfach leer wäre), bei der php-Variante käme schneller ein copy&paste Fehler rein (wenn ich z.B. um 20 Variablen erweitere aber nur 19 kopiere).
    Oder hab ich da so einen grundsätzlichen Denkfehler?

    XML oder gettext (also) lieber nicht?

    Die geodaten konnte ich erfolgreich mit

    PHP
    $previous = '';
    ($row = @mysql_fetch_assoc($result)){ ....
    $current = $row['lat'];
      if ($current == $previous) {
           $row['lat'] += 0.005000;
      }
      $previous = $current;


    ändern (sind ca. 400m Luftlinie)

    in dem xml steht

    Code
    <marker id="14333" studlist=" " name="Chunami from Bandit's World" address="44651 Herne" lat="51.508629" lng="7.149345" type="ja"/>
    
    
    <marker id="14444" studlist=" " name="Delphi from Bandit's World" address="44651 Herne" lat="51.513629" lng="7.149345" type="ja"/>

    es sind also verschiedene Daten da, aber angezeigt wird mir hier wieder nur Delphi aber an der ursprünglichen Adresse (die ich "eigentlich" versetzt habe)

    das js, welches die map anzeigt:


    EDIT:

    Frau sollte die richtige Datei einbinden und dann sind da auch zwei Marker

    Für eine Karte hole ich die in einer Datenbank hinterlegten Koordinaten die dann per xml an die Karte "geschickt" werden.
    Nun kann es passieren, das für eigentlich zwei Punkte dieselben Koordinaten hinterlegt sind - ich lasse z.B. Manner und Frauen anzeigen und die wohnen im gleichen Haus. Es wird mir aber nur einer davon angezeigt...

    Wie kann ich abfangen, ob es diese lat/lng Kombi gibt und wenn ja, einen Meter (oder so) dazu rechnen ?

    Mehrsprachige Webseite - womit setzt man es am besten um? Gettext, xml, Datenbank ...
    Was ich auf keinen Fall möchte ist dieser Anhang an der URL (lang=de)....
    In einem anderen (kleineren) Projekt habe ich das mal mit php-Dateien (und eben dieser get-Variante) gemacht, fand aber die Pflege der php-Datein sehr unübersichtlich und aufwändig.
    Tipps?

    ich nutze keine Datenbank für die Bilder.
    Die Dateiendungen grundsätzlich klein zu schreiben reicht schon. Erlaubt sind sowieso nur Bilder, ob jpeg, jpg, gif oder png. Ich denke das das reichen sollte (sind Bilder von Hunden). Auf alle Blödheiten beim abspeichern kann man nicht eingehen ;)
    Die einzigste file_exists Prüfung nehme ich für das "Hauptbild" des Hundes vor (welches den Namen seiner ID haben muss) - wenn nicht vorhanden lasse ich ein Ersatzbild anzeigen - damit immer der gleiche Platz belegt wird.

    Danke für die Antwort.
    Habe bereits gefühlte tausendmal strtolower($type) eingesetzt, immer ohne Erfolg (weil für mich so als Frauenverständnis type die Endung wäre)
    Ein einfaches

    PHP
    $file->name = $this->get_file_name(strtolower($name), strtolower($type), $index, $content_range);


    in besagter Funktion (also ein strtolower($name)) - setzt mir zwar den ganzen Dateinamen klein aber es funktioniert dann ;)
    Aber mit Deinem Hinweis hatte ich schonmal die richtige Funktion wo ich ansetzen musste.

    Ich nutze dieses Script zum upload und verändern von Bildern.
    In "meinen" Seiten rufe ich an vielen verschiedenen Stellen die Bilder auf, jeweils variabel mit einer id - aber immer und fast überall so:

    PHP
    if(file_exists("photo/".$dogid."/".$dogid.".jpg"))
                        $img = "photo/".$dogid."/".$dogid.".jpg";
                        else
                        $img = "platzhalter.png";

    Jetzt gibt es aber viele User, die JPG hochladen, und somit werden die Bilder mit dem "großen" JPG nicht angezeigt (ebenso in einer Bildergalerie). Das verbieten von großen JPG scheitert daran, das zu viele User nicht umwandeln können.
    Möglichkeit a wäre, immer und grundsätzlich die Bilder mit einer lowercase extension abzuspeichern - aber wie?
    Möglichkeit b wäre in dem jeweiligen Script zu sagen, mach aus allen zu holenden großen JPG kleine - dto -wie?

    klar hab ich schon gegoogelt ;)

    Diese Funktion kürzt mir variabel viele Nachnamen auf den jeweils ersten Buchstaben zurück

    PHP
    function initials($name){
        $nword = explode(" ",$name);
    
        foreach($nword as $letter){
            $new_name .= $letter{0}.'.';
        }
        return ($new_name);
    }
    echo initials($name);

    aber auch nur, wenn zwischen den Namen "nur" Leerzeichen sind.
    Hier geht es darum, wie der Nachname angezeigt wird (nicht User, sondern Besitzer eines Hundes). Sieht nämlich schon blöd aus wenn dort steht "Hans v." (für Hans von Müller). Der oder die eingegebenen Vornamen werden grundsätzlich vollständig angezeigt, nur bei dem Nachnamen soll die Wahl bleiben ob vollständig oder abgekürzt. Vor- und Nachname werden getrennt gespeichert, ebenso ein weiteres Feld mit dem zusammengesetzen Namen (Anzeigename).

    Ich suche eine function (oder irgendetwas, das das "tut") die Nachnamen auf die Initialen abkürzt, wobei aber variabele Namen berücksichtigt werden sollten.
    Hans Müller - Hans M. (das geht mit explode und substr - aber nur für fest vorgegebene Anzahl an Namen)
    aber das?
    Hans Meier-Müller - Hans M.-M.
    Hans von Müller - Hans v. M.
    Hans von Müller Meier - Hans v. M. M.

    Sorry für die späte Antwort...
    egal wie ich es drehe und wende, ob mit PDO oder althergebracht....
    $name="d'Artagnan";
    insert in Datenbank: d'Artagnan
    echo-Ausgabe der Variablen: d\'Artagnan

    ist das falsch oder richtig so wie es in der Datenbank steht (oder muss der Backslash auch in der Datenbank stehen)?


    EDIT: als PDO-Anfänger mal eine andere Variante probiert und es steht mit Backslash in der Datenbank...

    Per Formular gebe ich Daten in eine Datenbank ein. Unter anderen können dabei Namen auch ein Semikolon oder Hochkomma haben (je nachdem, was der "Eingeber" bevorzugt).
    Vorab: in PDO muss ich mich erst reindenken/arbeiten, dazu bin ich noch nicht fit genug. Also "erstmal" auf herkömmlichem Weg sichern. Zur Übergabe an die Datenbank nutze ich mysql_real_escape_string.
    Gibt jemand z.B. d'Artagnan ein, steht es bei mir auch genauso in der Datenbank. Wäre zwar schön, wenn das so möglich wäre (dann wären die Namen nicht so verstümmelt) - aber ich denke ich mache was falsch weil doch eigentlich d\'Artagnan drin stehen müsste, oder?

    zwei Möglichkeiten habe ich bisher genutzt:

    PHP
    $values = $_POST;
    foreach ($values as &$value) {
    $value = mysql_real_escape_string($value);
    }
    //für sql
    '$values[name]'

    oder nur im VALUE

    Code
    '" . mysql_real_escape_string($name) . "'