Kezdőoldal » Számítástechnika » Weblapkészítés » Mit rontottam el a kódban?...

Mit rontottam el a kódban? (PHP, MySQL)

Figyelt kérdés

Egy chatrobotot próbálok valahogy összehozni, már minden kész is van és működik, kivéve az üzenet, és a robot rá adott válaszának kiíratása.

Chat tábla mezői: id, username, message, date <-itt vannak a beküldött üzenetek

tudas tábla mezői: id, kerdes, valasz <-itt van a robot "agya". Na most az kéne, hogyha az általad küldött válasz benne van a tudás tábla kérdés mezőjében, írja rá ki a mellette lévő választ. Ez a kód:

$query = mysql_query("SELECT * FROM chat, tudas WHERE chat.username='$tmpname' ORDER by id DESC");

while($a=mysql_fetch_assoc($query)){

$message=$a['message'];

$username=$a['username'];

$kerdes=$a['kerdes'];

$valasz=$a['valasz'];

$date=$a['date'];

$message= str_replace("<", "<", $message);

$message= str_replace(">", ">", $message);

$valasz= str_replace("<", "<", $valasz);

$valasz= str_replace(">", ">", $valasz);


if(strstr($message , $kerdes)){

echo "<b>".$date." | <font color='green'>Teknős</font>: ".$valasz."</b><br>";

} else {

echo "<b>".$date." | <font color='green'>Teknős</font>: <font color='red'>Erre jelenleg még nincs válaszom!</font></b><br>";

}

echo "<b>".$date." | <font color='blue'>".$username."</font>: ".$message."</b><br>";

}



2012. febr. 11. 13:08
 1/3 anonim ***** válasza:

Ez így totál rossz.


SELECT * FROM chat, tudas WHERE chat.username='$tmpname' ORDER by id DESC


Ez a lekérdezés így a dékárd szorzatot adja vissza ahol a chat.username az a $tmpname. Illik megadni h mi alapján csatolja össze a táblákat.


A választ meg ne az alapján add vissza h kilistázol minden létező válaszlehetőséget és azt php-val keresed hanem a lekérdezésbe rakd bele: LIKE "%$kerdes%"


A sok str_replace-t sem értem h mi értelme 1-1karaktert kicserélni önmagára, dehát biztos van valami oka.

2012. febr. 11. 22:57
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

*

márminthogy ezt rakd bele: message LIKE '%$kerdes%'

2012. febr. 11. 22:58
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
köszönöm, akkor majd megróbálom így :)
2012. febr. 12. 01:43

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!