Beiträge von strong97

    Auf Preg Replace kam ich auch, jedoch brauche ich das volle Wort.


    PHP
    $pattern = '/@/';
    $replacement = '<a href="#">@</a>';
    echo preg_replace($pattern, $replacement, $row['text'], -1 );

    Er verlinkt nur das @ zeichen. Ist ja auch verständlich.


    Jedoch wollte ich das volle Wort das in einem @ Zeichen steht mit einem Link verlinken.


    Ich kann bei Pattern nicht einfach schreiben @person1, da jeder User natürlich einen anderen Verlinkt hat wie z.b @person27 oder @person28.

    Guten Tag,


    hat jemand Ahnung wie man sowas macht?


    guten tag,


    beim öffnen einer Box, möchte ich diese schließen sobald man irgendwo anders hinklickt, außer auf die Box. Hat jemand ne Ahnung wie das funktioniert?


    Zurzeit sieht es so aus:


    HTML:


    JS:

    Hallo,


    ich wollte es so machen , dass ich beim Runterscrollen (ganz am ende) etwas ausgibt.


    Der macht das aber nur wenn ich erst nach unten dann wieder nach oben scrolle. Ich wollte aber, dass er immer am ende etwas ausgibt. Woran liegt das?


    Normal funktioniert es ja so:


    JavaScript
    $(window).scroll(function() {
        if($(window).scrollTop() == $(document).height() - $(window).height()) {
               // ajax call get data from server and append to the div
        }
    });


    Da ich aber eine Modal Box habe und die height auf 500px ist und overflow-y müsste ich es irgendwas anders machen oder warum funktioniert es nicht?


    HTML


    CSS:


    JS

    Auch das kann die DB bereits, siehe https://www.db-fiddle.com/f/8AdEjiMqrDCicaKoXu6sm8/0


    Top, sowas hab ich gebraucht, jedoch brauch ich auch den wert z.b 17.


    Nun komm ich gar nicht mehr weiter. Ich wollte es so machen wie unten beschrieben aber hab gemerkt das es doch nicht so funktioniert:


    Code
    Beitrag_id | Zahl (Reaction) | Bild
        1      |     5           | lachsmylie.png
        1      |     5           | lachsmylie.png
        1      |     6           | wütender-smylie.png

    Das, wenn die Zahl öfter gibt, das jeweilige Bild auch angezeigt wird. Wie bei facebook gibt es auch so ne Reaction Like System. Wenn 20 LachSmylies vorhanden sind und 10 Wütende Smylies dann wird zuerst der Lachsmylie angezeigt.


    Jetzt wollte ich das auch machen aber habe gemerkt das geht doch etwas anders als ich es mir gedacht habe.


    Ich habe jetzt z.b wie Arne schon geholfen hat die Anzahl der jeweiligen Reactions gezählt wie oft die gleiche Zahl vorhanden ist.


    Wie kann ich die jetzt orten das die mit den höchster anzahl auch als erstes angezeigt wird und die mit den zweit-höchsten anzahl auch als zweites angezeigt wird usw?


    hätte eine methode die aber sehr aufwendig und unsauber ist.


    z.b mache 5 sql statements z.b where reaction = 1 bis 5.


    Dann zähl ich welche reaction am häufigsten exisitert. Dann mach ich eine Abfrage

    Das würde dann über 20-30 Ifabfragen kosten. Kann man es nicht so aufwendig machen´?

    Warum willst du das mit Array-Funktionen machen, wenn das die Datenbank schon kann?


    Sorry hab mich nicht richtig ausgedrückt. Ich wollte nicht nach der höchsten Zahl sortieren sondern ich wollte Sortieren wie oft die Nummer 23 oder 17 gibts.


    könnte auch so aussehen.


    17

    17

    17

    23


    z.b es gibt 3 mal die zahl 17 und 1x 23. Order by sortiert nach der höhsten Zahl runter bis zur kleinsten. Möchte aber die Anzahl der Zahlen zählen wie oft die gleiche Zahl vorhanden ist

    Guten Tag,


    ich habe in meiner DB eine Spalte "Reaction". Dort können nur Nummern stehen wie (17, 23 etc.).


    Jetzt wollte ich alle ausgegeben und den Wert der mehrmals vorhanden ist absteigend sortieren.


    z.b


    17

    23

    23

    23

    17


    ZU


    23

    23

    23

    17

    17

    Wie sieht denn die query jetzt aus?


    Danke dir das du dir soviel mühe gegeben hast (Y). Hab das letzte SQL Statement von dir mal probiert. Hab auch kapiert was ich falsch gemacht habe, aber irgendwie zeigt er mir jetzt keine Beiträge an und auch keinen Fehler.

    Hi,


    ich hab eine Tabelle `beitrag` und eine Tabelle `beitrag_picture`.


    Ich habe jetzt z.b einen Beitrag der wie folgt aussieht:

    PHP
    id | user_id | text
    12 |     5     | Hallo


    Dazu habe ich in der `beitrag_picture` das hier eingetragen:


    PHP
    id | beitrag_id | image 
    1  |     12     | Tier.png
    2  |    12      | Auto.png


    Jetzt wollte ich beide Fotos anzeigen lassen, jedoch zeigt er mir immer nur eins an. Weiß jemand woran es liegen kann?


    SQL


    So gebe ich es aus:


    Habe eben mal #13 getestet, funktioniert einwandfrei.

    Bis dahin war diese Grundlage allerdings noch eine andere:

    PHP
    $_POST['city'] = ['Berlin', 'Dresden', 'München'];

    Funktioniert bei mir auch, aber nur wenn ich es so mache:



    Wenn ich am Anfang mit 2 Parameter so mache, klappt es nicht:



    $_POST['cities'] gibt dieses schema aus:


    rray(2) { [0]=> string(5) "52062" [1]=> string(5) "25560" }

    Ich hab das Komma vergessen :D

    Opps :D

    SQL
    INSERT INTO `city` (`city`) VALUES (?), (?), (?);


    http://sandbox.onlinephpfuncti…91bcde0ea49c75a05981f7574


    Hat perfekt geklappt danke dir^^. Kurze Frage noch, wenn ich mehrere Paramter einfügen möchte wie z.b die User_id noch, wie sollte es dann aussehen?


    PHP
    $params[] = $city;
    $params[] = $_SESSION['id']
    $values[] = "(?)";

    Finde es etwas kompliziert grade<.<

    Code
    "INSERT INTO `city` (`city`) VALUES (?) (?) (?);"

    http://sandbox.onlinephpfuncti…9c90a14fa22e770684908cb7c


    Wieso bekomm ich diesen Fehler?


    Mein Code ist genau gleich außer das ich $_POST['city'] mit $data getauscht habe.



    Var_dump($sql)

    ungetestet:

    PHP
    $aCitiesValues = array_map(
            function ( $city ) {
                return "('" . $city . "')";
            }
            , explode( ',', $_POST['city'] )
        );
    
    
    $oStmnt = $oPDO->prepare( 'insert into `city` (`city`) values ?' );
    $oStmnt->execute( [implode(',', $aCitiesValues)] );

    Hi,


    bekomme diese 2 Sachen ausgegeben wenn ich var_dump(implode(',', $aCitiesValues)) und var_dump($0Stmnt) eingebe


    string(4) "('')"


    object(PDOStatement)#2 (1) { ["queryString"]=> string(49) "insert into `follow_cities` (`cities`) values (?)" }

    Was kommt dabei raus:


    Das hier:


    Der code geht noch länger hab aber nur bisschen kopiert.


    Aber glaube habe mich falsch ausgedrückt oder du hast mich falsch verstanden^^


    ich wollte es so haben z.b


    $city = Berlin,Hamburg


    So


    Jetzt will ich 2x ein Insert durchführen da 2 städte ausgewählt sind:


    $insert = $pdo->prepare("INSERT INTO ´city` (city) VALUES (:city);");

    $insert->BindValue('city', $city) (SOllte jetzt berlin sein)

    $insert->execute();



    $insert = $pdo->prepare("INSERT INTO ´city` (city) VALUES (:city);");

    $insert->BindValue('city', $city) (Sollte jetzt Hamburg sein)

    $insert->execute();


    Wenn ich 3 Städte auswähle soll er 3x ein Insert machen. Ist das möglich?

    Zeige mal das aktuelle Formular und den aktuellen PHP-Teil

    PHP


    JS:

    Das sind doch vermutlich Postleitzahlen, dann kann die Suche in der Tabellenspalte city ja auch nicht funktionieren.


    Wie sieht deine Tabelle genau aus?


    Ups hab ausversehen PLZ genommen, habs aber auch mit den Namen Versucht:


    string(90) "Select `city` from `dataset` where `city` in ('Berlin','Hamburg')"


    Wenn ich $row['city'] mache bekomme ich nur Berlin angezeigt.


    Wenn ich es mit while mache zeigt er mir mindestens 100x die Stadt Berlin an.

    Ungetestet:

    Code
    $cities = array();
    
    foreach ($_POST['cities'] as $city)
       $cities[] = "'$city'";
       
    $query = "Select `dies`, 
                     `das`, 
                     `jenes` 
                from `tabelle` 
                where `city` in (" . implode(',', $cities) . ")";


    Danke für die Hilfe erstmal,


    also er gibt mir keine Stadt aus. Hab mal var_dump($query) gemacht und bekam dies hier:


    string(87) "Select `city` from `dataset` where `city` in ('78267','52062')"