Vinn nätagg från Seasonic

Problem med exekvering av sökfunktion +php

Permalänk
Medlem

Problem med exekvering av sökfunktion +php

Hejsan!

Har en liten sida som jag tänkte lägga ut en medlemssökfunktion på. Problemet är bara att på den sidan man söker användare så exekveras inte resten av koden innan man kört sökning. Detta är ju väldigt jobbigt då jag inte får upp saker som ligger efter sökfunktionen i koden

Hur modifiera så det fungerar som det ska?

<table border=0 width="530" cellspacing=0 cellpadding="2"> <tr><td> <form name="form" action="sokuser.php" method="post"> <input type="text" name="q" /> <input type="submit" name="Submit" value="Sök" /> </form> <?php $var = $_POST['q'] ; if (!isset($var)) { echo "<p>Ange ett sökord!</p>"; exit; } else{ //Databaskopplingen mysql_connect("$server","$db_user","$db_pass"); mysql_select_db("$database") or die("Kunde inte ansluta till databasen"); $query = "select * from $table where user like \"%$var%\" OR namn like \"%$var%\" order by id asc"; $result = mysql_query($query) or die("Couldn't execute query"); while ($row= mysql_fetch_array($result)) { print("<table border='0' width='500'><tr><td>"); print($row["user"] . "</td><td>" . $row["namn"] . "</td></tr></table>"); } } ?> </td></tr> </table>

Permalänk
Medlem

ta bort din exit; som är efter "ange ett sökord", sedan tar du bort else som följer efter. För else:n krävs det att du först tar bort inledningsraden:

else{

och sedan en av de två klammrarna åt andra hållet som är nästan längst ner, alltså ett }.

Jag antar att det ger dig resultatet du är ute efter.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av totoo
ta bort din exit; som är efter "ange ett sökord", sedan tar du bort else som följer efter. För else:n krävs det att du först tar bort inledningsraden:

else{

och sedan en av de två klammrarna åt andra hållet som är nästan längst ner, alltså ett }.

Jag antar att det ger dig resultatet du är ute efter.

Nope...
Tar jag bort else så kommer den att exekvera databasfrågan innan jag skrivit in en söksträng vilket resulterar i att den listar allt i databastabellen o först efter man skrivit in sökkriterie så sker det jag vill ska ske.
Men den får inte lista före sökning....

Permalänk
Medlem

$var = $_POST['q'] ; if (!isset($var))

ska det inte vara såhär?

if(isset($_POST['submit'])) { $var = $_POST['q'] ;

edit

$query = "select * from $table where user like \"%$var%\" OR namn like \"%$var%\" order by id asc";

mot

$query = "select * from table where user like \"%$var%\" OR namn like \"%$var%\" order by id asc";

eller?

Permalänk
Medlem

aha, just den delen ska nog inte visas nej... men ta bort exit bara, då visas ju allt förutom det i else. Är det vad du är ute efter då?