Hej!
Har denna kod, som fungerar för att visa reslutatet på en sökning, men hur gör man för att skriva ut "Inga träffar" om inget hittats. (Då $Row är tom alltså, eller om det finns något "EOF sätt). ?
<?
while($Row=mysql_fetch_array($Result)){
print " ";
print $Row[title];
print " ";
print "($Row[clicks])";
print "<br>";
?>
rakiMedlem sedan jan. 2003137 inlägg Nåt sånt här kanske:
if (mysql_affected_rows() == 0){
print "Hittade inget";
}else{
while ($Row = mysql_fetch_array($Result)){
print " ";
print $Row[title];
print " ";
print "($Row[clicks])";
print "<br>";
}
}
Tjena!
Fick det inte att fungera riktigt, testade även med att bara lägga dette efter för sig, men "inga träffar" skriva inte ut. :(
<?
if (mysql_affected_rows() == 0){
print "Hittade inget";
}
?>
SPiNMedlem sedan mars 20007 896 inlägg Det beror på hur din SQL-fråga ser ut. Använder du nyckelordet SELECT, alltså när du ska hämta data, ska du använda dig av funktionen mysql_num_rows(), om du har updaterat, tagit bort en post eller satt in en post ska du använda dig av mysql_affected_rows(). Du använder dig av funktionerna som raki visade.
BäckmanMedlem sedan nov. 2001274 inlägg Detta funkar osså.
if (mysql_num_rows($result) == 0){
print "Hittade inget";
}else{
while ($Row = mysql_fetch_array($Result)){
print " ";
print $Row[title];
print " ";
print "($Row[clicks])";
print "<br>";
}
}
Detta kan alltså användas för att räkna ut hur många träffar du får:
$IntHits = mysql_num_rows($result);
Hej! :)
Nu har jag testat alla era förslag, men får inget att funka, kanske ligger "felet" innan i koden. Om det finns träffar så skriva de ut, så det fungerar, det är just när inga träffar finns som inget skrivs ut. :(
Så här ser SQL frågan och koden ut.
<?
$searchon = $_GET['searchon'];
$Link = mysql_connect("localhost", "xxx", "xx");
mysql_select_db("xx", $Link);
$Query = "SELECT * FROM table1 WHERE title LIKE '$searchon%' & approved=1 ORDER BY title;" or die (mysql_error());
$Result = mysql_query($Query) or die("Error: ".mysql_error()." in query: ".$Query);
?>
<font FACE="Arial"><b>
<?
while($Row=mysql_fetch_array($Result)){
print " ";
print $Row[title];
print " ";
print "($Row[clicks])";
print "<br>";
$IntHits = mysql_num_rows($result);
if ($IntHits == 0){
echo "Hittade inget";
}
?>
SPiNMedlem sedan mars 20007 896 inlägg Byt:
<?
while($Row=mysql_fetch_array($Result)){
print " ";
print $Row[title];
print " ";
print "($Row[clicks])";
print "<br>";
$IntHits = mysql_num_rows($result);
if ($IntHits == 0){
echo "Hittade inget";
}
?>
Mot:
<?
if( mysql_num_rows( $Result ) == 0 )
echo "Inget hittades";
while($Row=mysql_fetch_array($Result)){
print " ";
print $Row[title];
print " ";
print "($Row[clicks])";
print "<br>";
}
?>
Du hade missat en avslutande måsvinge för while som störde rätt hårt. Jag bytte plats på satserna också, jag har för mig att man ska kolla mot mysql_num_rows() innan man kör genom resultatet i någon annan funktion.
Då gick det. Tack alla för hjälpen.