phpbar.de logo

Mailinglisten-Archive

[php] MySQL-Select: String mit Leerzeichen

[php] MySQL-Select: String mit Leerzeichen

Alexander Mieland mieland_(at)_lunatic.de
Thu, 16 Nov 2000 23:45:49 +0100


Hallo Ihr...

Ja, schon wieder ich... :(
Ich habe ein ganz, ganz grosses Problem.
Folgende Situation:
Ich baue ein grosses Forensystem und möchte nun die Möglichkeit
bieten mit externen Links eine (und NUR diese) Board-Kategorie anzeigen
zu lassen.
----------------------------------------------------------------------
Dazu habe ich folgende Link-"Struktur":
http://www.meinedomain.de/verzeichnis/datei.php3?cat=kategoriename
----------------------------------------------------------------------
Folgende Funktion holt mir anhand des Links die Daten aus der DB:
function GetBoards_cat($user_category)
{
      global $n;
      $result1 = mysql_query("SELECT * FROM apb".$n."_boards WHERE category='$user_category' ORDER BY category,boardname;");
      return $result1;
      echo mysql_error();
}
----------------------------------------------------------------------
Und folgender Code ruft die Funktion auf und generiert das HTML:
elseif (isset($cat)):
$cat1 = urldecode($cat);
$boards_cat1 = GetBoards_cat($cat1);
        while ($thisrow = mysql_fetch_row($boards_cat1))
        {
                if ($thisrow[9] != $lastcategory) {
                        echo " <TR BGCOLOR=\"$tableB\"><TD COLSPAN=5><Font Size=2 Face=\"$font\"><b>$thisrow[9]</b></Font></TD></TR>"; }
                $lastcategory = $thisrow[9];
                echo " <TR BGCOLOR=\"$tableA\">\n    <TD>&nbsp;</TD>\n";
                    echo "    <TD><A HREF=\"$php_path/board.php3?id=$thisrow[0]&BoardID=$BoardID\"><b><FONT Face=\"$font\" SIZE=2>$thisrow[1]</Font></b></A><BR>";
                    echo "    <FONT Face=\"$font\" SIZE=1>$thisrow[6]</FONT></TD>\n";
                    echo "    <TD><CENTER><FONT Size=2 Face=\"$font\">$thisrow[4]</Font></CENTER></TD>\n";
                    echo "    <TD><FONT Size=2 Face=\"$font\">".HackDate($thisrow[5])."</Font></TD>\n";
                    echo "    <TD><A HREF=\"$php_path/user.php3?username=yes&id=$thisrow[3]&BoardID=$BoardID\"><FONT Size=2 Face=\"$font\">$thisrow[3]</Font></A></TD>\n";
                    echo " </TR>\n";
        }
----------------------------------------------------------------------

Wenn nun der Kategoriename in der URL nur aus einem Wort besteht, dann funktioniert es einwandfrei.
Wenn der Name aus zwei Wörtern besteht, getrennt durch Leerzeichen, dann funktioniert es NICHT!

Wenn ich $cat und $cat1 ausgeben lasse, dann bekomme ich bei beiden den gleichen Inhalt, nämlich den
Kategorienamen OHNE %20. Sollte also eigentlich funktionieren, oder?

Wo ist hier mein Denkfehler?
(Ich habe ehrlich in den letzten vier Stunden  Jedes Handbuch, das PHP-Manual und das MySQL-Manual
gewälzt aber keine Lösung gefunden.) 

P.s.: Ich habe es auch schon ganz ohne eine decodier-funktion versucht, ich habe es mit 
urldecode, urlencode, rawurldecode und mit rawurlencode versucht. Hat alles nichts gebracht

-- 
mfg

Alexander Mieland
System-Administrator
http://www.lunatic.de




php::bar PHP Wiki   -   Listenarchive