PHP

  • @Devine_ ist auch alles so...


    Neues Problemchen :D http://prntscr.com/94h90c
    Ich will gerne alles aus der DB auflisten was zu einem schlagwort passt... momentan habe ich:


    Aber wie man sehen kann habe ich da gewisse probleme mit °-°


    zudem kriege ich es nicht gebacken das das div such-erg sich für jedes Suchergebnis wiederhohlt °----°
    wäre jemand bereit mir zu helfen? :D

  • Als aller erstes, SQL Injection kann da problemlos durchgeführt werden, aber das wirst du später selber lernen.
    2. Sollte man nicht die mysql.* extension Benutzen sondern, MySQLi oder PDO, weil sie als veraltet gilt.


    Zu deinem jetzigen Problem:
    [

    PHP
    <?php
    $sql="SELECT pagetitle, pageowner, pageurl FROM pages WHERE  pagetitle, pageowner, pageurl LIKE '%" . $_GET["search-text"] ."%'";
  • Ich habe das ausprobiert kriege aber leider die Selbe fehlermeldung :/


    You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' pageowner, pageurl LIKE '%toogle%'' at line 1


    http://prntscr.com/94hsug



    Habe es auch nocheinmal angepasst


    PHP
    $sql="SELECT pagetitle, pageowner, pageurl, tags FROM pages WHERE  pagetitle, pageowner, pageurl, tags LIKE '%" . $_GET["search-text"] ."%'";
  • Oh das habe ich garnicht gesehen..


    Hier:

    PHP
    <?php
    $search = mysql_real_escape_string( $_GET["search-text"] );
    
    
    $sql="SELECT pagetitle, pageowner, pageurl, tags FROM pages WHERE 
    pagetitle LIKE '%". $search ."%' OR
    pageowner LIKE '%". $search ."%' OR
    pageurl LIKE '%". $search ."%' OR
    tags LIKE '%". $search ."%'";
  • Die fehler sind weg, danke :) allerdings werden mir keine ergebnisse angezeigt :D

  • Ich habe es jetzt hinbekommen :D
    Adobe Dreamweaver sei dank.
    EDIT://
    Habe da ein kleines Problemchen...

    PHP
    if (isset($_GET['totalRows_Pages']) == 0) {
    	$Row_Gesamt ="keine";
    }
    else if (isset($_GET['totalRows_Pages']) >1) {
    	$Row_Gesamt = "wurden";
    }
    else if (isset($_GET['totalRows_Pages']) == 1) {
    	$Row_Gesamt = "wurde";
    }

    es spuckt immer "keine" aus...

    Einmal editiert, zuletzt von Doktorand Yannik Boeltes ()

  • Gib mal vorher print_r($_GET['totalRows_Pages']; - Was steht da als Ergebnis. Ansonsten bitte als Switch soetwas...

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Es gab nix aus also habe ich es im switch gemacht... allerdings mit keinem soderlich großen erfolg...

    PHP
    switch (isset($_GET['totalRows_Pages'])) {
    	case 0: $Row_Gesamt ="wurden keine";
    	case 1: $Row_Gesamt ="wurde";
    	case 2: $Row_Gesamt ="wurden";
    }

    Nun zeigt er nurnoch case 2 an °-°

  • Es gab nix aus also habe ich es im switch gemacht... allerdings mit keinem soderlich großen erfolg...

    PHP
    switch (isset($_GET['totalRows_Pages'])) {
    	case 0: $Row_Gesamt ="wurden keine";
    	case 1: $Row_Gesamt ="wurde";
    	case 2: $Row_Gesamt ="wurden";
    }


    Nun zeigt er nurnoch case 2 an °-°

    Also, erstens musst Du bei jedem Case einen "brake;" hinzufügen, damit er auch abbricht und das switch beendet. Wenn Du kein Ergebnis hast, dann wird der Fehler ja woanders sein. Nutze in einem Switch immer noch default: , damit du alle Fälle abdecktst. default: tritt ein, wenn alle anderen Fälle nicht wahr sind.


    Normalerweise nutzt man es so:

    PHP
    <?php
    
    
    switch($var) {
    case 1: break;
    case "test": break;
    default: break;
    }

    Für einen String und für ein Integer.

    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Ich sage es ganz einfach, ich finde den Fehler ja auch nicht ^^

    Das ist der komplette MySql code und ja, mir ist klar das MySQL veraltet ist.

  • Ich vergesse immer bescheid zu sagen wenn ich es richtig hae °-° Tut mir voll leid :D
    Ja, lag am isset() ^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen