mysql vagy post hiba?
Sziasztok,van egy 1.php-m a lényege egy submit használata post methoddal :
ami a vtechuserben van id alapján azt a legördülő menüben lehet látni,majd ezzel a submittal kiválasztom.
<?php
$sql = "SELECT * FROM vtechuseritems WHERE userid = '".$_SESSION['userid']."'";
$query = mysql_query($sql);
$sql2 = "SELECT * FROM vtech WHERE id = '$query[vtechid]'";
$query2 = mysql_query($sql2);
?>
<form action="tamadas2.php?action=runfunction" method="POST">
<select name="mit">
<?php while($row = mysql_fetch_array($query)):?>
<option value="<?php echo $row['id'];?>"><?php echo "["; echo $row['vtechname2']; echo "]";?></option>
<?php endwhile;?>
</select>
<input type="submit" value="Támadás">
</form>
így néz ki,a submit használata után meg megvannak adva,hogy mit csináljon ,de egy értéket visszakérve nem azt adja vissza,ami nekem kellene.
a 2.php-ban ez található :
$id = $_POST['mit'];
$vtech = mysql_query("SELECT * FROM vtechuseritems WHERE userid = '".$_SESSION['userid']."'");
$vtech2 = mysql_fetch_array($vtech); //beolvasás $szornyrand=rand(1,6); $enrand=rand(1,6);
if ($kaszt == 'Harcos')
{
$T=(($tough + $stre + $tamadoertek)* $kritikus) + $enrand + $vtech2[vtechsebzes];
}
tehát a technikát ahogyan kiválasztottam hozzá kéne adni elvileg a $T-hez( ez lenne a $vtech2[vtechsebzes];) de ez csak az első vtech vtechsebzését adja vissza,közben több ilyen is van.kezdő vagyok ,de szorgos,léci segítsetek a hibát elhárítani :)
■ ami a vtechuserben van id alapján azt a legördülő menüben lehet látni,majd ezzel a submittal kiválasztom.
<?php
$sql = "SELECT * FROM vtechuseritems WHERE userid = '".$_SESSION['userid']."'";
$query = mysql_query($sql);
$sql2 = "SELECT * FROM vtech WHERE id = '$query[vtechid]'";
$query2 = mysql_query($sql2);
?>
<form action="tamadas2.php?action=runfunction" method="POST">
<select name="mit">
<?php while($row = mysql_fetch_array($query)):?>
<option value="<?php echo $row['id'];?>"><?php echo "["; echo $row['vtechname2']; echo "]";?></option>
<?php endwhile;?>
</select>
<input type="submit" value="Támadás">
</form>
így néz ki,a submit használata után meg megvannak adva,hogy mit csináljon ,de egy értéket visszakérve nem azt adja vissza,ami nekem kellene.
a 2.php-ban ez található :
$id = $_POST['mit'];
$vtech = mysql_query("SELECT * FROM vtechuseritems WHERE userid = '".$_SESSION['userid']."'");
$vtech2 = mysql_fetch_array($vtech); //beolvasás $szornyrand=rand(1,6); $enrand=rand(1,6);
if ($kaszt == 'Harcos')
{
$T=(($tough + $stre + $tamadoertek)* $kritikus) + $enrand + $vtech2[vtechsebzes];
}
tehát a technikát ahogyan kiválasztottam hozzá kéne adni elvileg a $T-hez( ez lenne a $vtech2[vtechsebzes];) de ez csak az első vtech vtechsebzését adja vissza,közben több ilyen is van.kezdő vagyok ,de szorgos,léci segítsetek a hibát elhárítani :)
a post nem funkcionál,ha jól
Első
mysql_fetch*
egyetlen sort fog visszaadni a találatból). Egywhile
ciklusban kellene csinálod.poetro :)
Hibakeresés
:S nem megy,az 1.php-ban vagy
gondolom a kettőben,mert az
nem tudom,hogy hogyan kellene
$sql = "SELECT * FROM
$query = mysql_query($sql); //kapcsolódik a felhasználó technikáihoz id alapján
$sql2 = "SELECT * FROM vtech WHERE id = '$query[vtechid]'";
$query2 = mysql_query($sql2);
while($row = mysql_fetch_array($query))
{
if ($kaszt == 'Harcos')
{
$T=(($tough + $stre + $tamadoertek)* $kritikus) + $enrand + $row['vtechsebzes'];
} //Harcos támadóértéke
if ($kaszt == 'Varazsló')
{
$T=(($tough + $intel + $varazsertek)* $kritikus) + $enrand+ $row['vtechsebzes'];
} //Varazsló támadóértéke
if ($kaszt == 'Íjász')
{
$T=(($tough + $stre + $celzoertek)* $kritikus) + $enrand+ $vtech2['vtechsebzes'];
} //Íjász támadóértéke
if ($kaszt == 'Szerencsevadász')
{
$T=(($tough + $stre + $tamadoertek)* $kritikus) + $enrand+ $vtech2['vtechsebzes'];
} }
idáig eljutottam,de itt az utolsó sor vtechsebzes értékét adja a $T-hez.
Kódszínező...
Jobb lenne, ha beszédes és logikus neveket adnál a változóidnak ($T), mert így adott idő után még te sem fogod első ránézésre tudni, hogy melyiknek mi a szerepe.
Van egy jó cikkajánló is itt, de ehhez én jobban javasolnám a PHP kézikönyv több forgatását. (Letölthető .chm is van, nekem ez állandó "munkatársam" - még mindig.) Kezdőként mindig először a kézikönyv vonatkozó részeit olvasd el, az ott látható példák elég jól bemutatják a működést / szerkezetet. Ezután írd a kódot, mindig az egyszerűbbtől a bonyolultabb felé haladva.
Az elején ez elég lassú folyamat, de a 10.-20. hasonló feladatnál már csak emlékeztetőül pislantasz a "könyvre".
Türelem, kitartás.
:)
$vtech = mysql_query("SELECT * FROM vtechuseritems WHERE userid = '" . $_SESSION['userid'] . "' AND id = '$id'");