Avatar billede tirdyr Nybegynder
03. august 2006 - 11:53 Der er 13 kommentarer og
1 løsning

Basis sporgsmaal, omkring Mysql/php

Hejsa, jeg har noget jeg ikke kan forstaa, og jeg haaber at der er nogen der kan hjaelpe mig med det.

jeg bruger denne form
<html>
<head><title>formern</title></head>
<body>
<form action="results.php" method="get">
Item:<input type="text" name="item">
Proffesion:<select name="class">
<option value="alchemy">Alchemy
<option value="blacksmithing">Blacksmithing
<option value="cooking">Cooking
<option value="enchanting">Enchanting
<option value="engineering">Engineering
<option value="leatherworking">Leatherworking
<option value="tailoring">Tailoring
</select></option>
<input type="submit">
</form>
</body>
</html>

og her er results.php

<html>
<head><title>results</title></head>
<body bgcolor="#FFFFFF">

<?
/* declare some relevant variables */
$DBhost = "localhost";
$DBuser = "i8470";
$DBpass = "******";
$DBName = "tobenski_dk_-_items";
$table = $_GET["class"];

mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable toconnect to database");
@mysql_select_db("$DBName") or die("Unable to select database $DBName");
$sqlquery = 'SELECT * FROM $table WHERE Item = $_GET["item"]';
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);

$i = 0;

if ($number < 1) {
print "<CENTER><P>There Were No Results for Your Search</CENTER>";
}
else {
while ($number > $i) {
$item = mysql_result($result,$i,"Item");
$link = mysql_result($result,$i,"Link");
$reagents = mysql_result($result,$i,"Reagents");
$Creators = mysql_result($result,$i,"Creators");
print "<p><b>Item:</b> $item<br>
<b>Link:</b>$link<br>
<b>Reagents:</b>$reagents<br>
<b>Creators:</b>$creators</p>";
$i++;
}
}
?>
</BODY></HTML>

og jeg faar folgende fejl:

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /var/www/html/results.php on line 17
(og den finder ikke det item den skulle)
Avatar billede tirdyr Nybegynder
03. august 2006 - 11:55 #1
det skal siges at results.php firker hvis jeg i stedet for at bruge $_get[""] fra formen paa den tidligere side, skriver itemet direkte ind i koden..
Avatar billede mcgoat Nybegynder
03. august 2006 - 11:58 #2
$sqlquery = "SELECT * FROM ".$table." WHERE Item ='". $_GET["item"]."'";

hvad med den?
Avatar billede tirdyr Nybegynder
03. august 2006 - 12:03 #3
ffs.. jeg er tilbage og teste det om 30 min.. jeg vender lige tilbage..
Avatar billede tirdyr Nybegynder
03. august 2006 - 12:05 #4
nej jeg for stadig:
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /var/www/html/results.php on line 17

men som sagt er jeg tilbage on 30 min....
Avatar billede mcgoat Nybegynder
03. august 2006 - 12:05 #5
og prøv at ændre $table = $_GET["class"]; til $table = $_GET['class'];

ved ikke om det gør den store forskel
Avatar billede mcgoat Nybegynder
03. august 2006 - 12:08 #6
hmm, kunne måske også være fordi den tager 'class' som et reseveret ord, bliver jo brugt i programmering. Måske prøve at ændre for sjov til 'klasse' både i din php og html fil
Avatar billede mcgoat Nybegynder
03. august 2006 - 12:16 #7
kunne også prøve med mysql_num_rows istedet for mysql_numrows.
Men har lige søgt lidt på google og det kunne sagtens være fordi den hedder 'class'
Avatar billede tirdyr Nybegynder
03. august 2006 - 13:32 #8
ok.. vil lige prove med det med at aendre det fra class.. fordi du har nok fat i noget med de reservered ord..
Avatar billede tirdyr Nybegynder
03. august 2006 - 13:51 #9
hmm, både at ændre "class" til "klasse", og at ændre mysql_numrows til mysql_num_rows
gav ingen forskel i resultatet.. der er stadig den samme fejl
Avatar billede tirdyr Nybegynder
03. august 2006 - 14:06 #10
hmm det vil squ ikke virke.. nogen der har en anden ide til hvordan det laves? som virker?
Avatar billede tirdyr Nybegynder
03. august 2006 - 17:36 #11
har fået det til at virke, greb det and på en lidt anden måde, og så virkede det.. så tak for hjælpen, jeg vil gerne give point for din indsats hvis du lægger et svar..
Avatar billede mcgoat Nybegynder
03. august 2006 - 22:50 #12
nahh det er ok :) men vil da gerne vide hvordan du fixede det :)
Avatar billede tirdyr Nybegynder
06. august 2006 - 23:48 #13
ok her er formen fra for:

<form action="results.php" method="get">
Item:<input type="text" name="item">
Proffesion:<select name="class">
<option value="alchemy">Alchemy
<option value="blacksmithing">Blacksmithing
<option value="cooking">Cooking
<option value="enchanting">Enchanting
<option value="engineering">Engineering
<option value="leatherworking">Leatherworking
<option value="tailoring">Tailoring
</select></option>
<input type="submit">

</form>

og her er saa results php.
<?
$username="i8470";
$password="*******";
$database="tobenski_dk_-_items";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM $_GET[klasse] WHERE Item LIKE '%$_GET[item]%'";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

echo "<b><center>Result of your search for $_GET[item] has returned $num results.</center></b><br><br>";

$i=0;
while ($i < $num) {

$item=mysql_result($result,$i,"Item");
$creator=mysql_result($result,$i,"Creators");
$reagents=mysql_result($result,$i,"Reagents");
$itemid=mysql_result($result,$i,"Nogle");
$itemlink=$item;
$itemlink=str_replace(" ", "-", trim($itemlink));


   
echo "<b>Item:</b> $item<br><b>Reagtens:</b> $reagents<br><b>Creators:</b> $creator <br><b>Link:</b> <a href='http://wowguru.com/db/syndicate.php?t=items&p=html&q=$itemlink' target='_blank'>$item</a><br>";
echo "<form action='update.php' method='get'>";
echo "<input type='hidden' value='$_GET[klasse]' name='klasse'>";
echo "<input type='hidden' value='$itemid' name='id'>";
echo "<b>Ad Your name to the Creator List: </b><input type='text' value='' name='creator'>";
echo "<input type='submit'>";
echo "</form>";
echo "<hr><br>";

$i++;
}

?>

jeg har maaske added lidt mere til koden siden, men der er den grundlaegende ide.. jeg kan dog stadig ikke forstaa at det andet ikke virkede..
Avatar billede tirdyr Nybegynder
06. august 2006 - 23:49 #14
ups der er en ille fejl i formen..

skulle vaere:

Proffesion:<select name="Klasse">
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester