@-Vorkommen prüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    $text ist variabel

    die Variable $text ist wie schon der Funktionsname drauf hinweist, variabel.

    Es ist die Variable für den im chat eingegeben Text.

    es kann sein, das sie nun volgendermaßen aussieht:

    @admin der Chat läuft gut
    das '@admin' soll dan a) ergänzt werden, durch einen mysql-abfrage 'LIKE', und b) zu "[zu admin]" werden.

    Das soll der solange machen, bis kein " @" mehr vorhanden ist
    <-- Achtung auch noch ein Leerzeichen vorm '@' -->

    Kommentar


    • #17
      aua!

      ich habe den Fehler gefunden!

      PHP-Code:
      while([b]$tpos[/b] = [...]) 
      wenn das '@' auf der Stelle '0' ist, wird ide schleife nicht aktiv!

      aua, das hat wehgetan...

      Kommentar


      • #18
        Ich bin zwar keine von den Typen die sagen "Ich hab´s ja gesagt", aber: Ich hab´s ja gesagt.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #19
          ok...

          also, hier mal die gesammte Schleife,

          denn nun funktioniert die Nickergänzung nicht!

          PHP-Code:
          while($cpos strpos($text"@")){
              
              
          $username_text substr($text$cpos strpos($text" "$cpos));
              print 
          " Username: $username_text";
              
          $resultset mysql_query("SELECT username FROM $tabelle_user WHERE Status=\"Online\" AND username LIKE \"%$username_text%\"'",$dbh);
              
          $result mysql_fetch_array($resultset);
            
          $username_to "[zu " $result["username"] . "] ";
              
          $text $username_to $text;
            
          $text str_replace("@$username_text","",$text);


          kann mir mal einer sagen, warum die SQL-Query nicht darauf eingeht?

          wenn ich jedoch bei 'LIKE' als Paramter einen Schnipsel des Nicknamens eintrage, funktioniert es!

          Kommentar


          • #20
            Hmm ... Sonderzeichen? benutz mal beim like mysql_escape_string($username_text), vielleicht hilft das.
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #21
              wie?

              wie meinste dasd jetzt!?

              wo muss ich mysql_.... einbauen?

              vieleicht mal ne etwas genauere beschreibung

              Kommentar


              • #22
                $query = "SELECT username FROM $tabelle_user WHERE Status='Online' AND username LIKE '%". mysql_escape_string($username_text). "%'";
                mysql_query($query, ,$dbh) or die ("<strong>$query</strong>: ".mysql_error());
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #23
                  nein, funktioniert weiterhin nicht...

                  aber was ich komisch finde ist, wenn ich bei

                  Like "%ad%"

                  eingebe, dann sucht er für mich admin heraus, heist also, das die Suche sogesehen funzt nur mit der Variable nicht...

                  Kommentar


                  • #24
                    Könnte vielleicht unter Umständen, man weiß ja nie, eventuell in der Variablen $username_text ein Blank übriggeblieben sein und die LIKE Bedingung anstatt mit "%ad%" irgendwie mit "% ad%", "% ad %" oder "%ad %" generiert wird, was dann natürlich nicht funzt?

                    Kommentar


                    • #25
                      hmm...

                      ok, es geht nun!

                      danke für eure Hilfe und bereitet euch auf die nächste Vor
                      Zuletzt geändert von 20thcentury; 19.03.2002, 18:15.

                      Kommentar


                      • #26
                        TAKE trim()
                        http://www.php.net/manual/de/function.trim.php

                        $username_text = trim($username_text);

                        Kommentar


                        • #27
                          Jetzt schaut meine zuvor gegebene Antwort richtig zusammenhanglos aus

                          Kommentar


                          • #28
                            ok...

                            die Nächte sache wäre nun, dass bei der mySQL-Abfrage durch was weis ich z.B. "ORDER BY"

                            die gesammten User von dem kleinztem (also am Wenigstem Zeichen) bis hinauf zu größten Nick name geordnet werden. ?? wie geht dat?

                            EDIT:

                            In dem Array was durch mysql_fetch_array() ausgegeben wird.

                            Kommentar


                            • #29
                              $resultset = mysql_query("SELECT username FROM $tabelle_user WHERE Status=\"Online\" AND username LIKE \"%$username_text%\"' order by length(username)",$dbh);

                              Kommentar


                              • #30
                                danke!

                                und schon wieder banht sich ein Problem an

                                und zwar holt der mit dem Befehl 'Like' nun alle Datensetze aus der DB...

                                so wird also mehr oder weniger z.B. wenn ich @username eingebe admin ausgegeben, da admin als 1 Name registriert ist
                                grr!

                                Kommentar

                                Lädt...
                                X