ugrás a tartalomhoz

mysql vagy post hiba?

Shap · 2012. Okt. 5. (P), 10.03
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 :)
 
1

a post nem funkcionál,ha jól

Shap · 2012. Okt. 5. (P), 10.05
a post nem funkcionál,ha jól sejtem ,mert nincs köze a vtechben lévő vtechsebzeshez,hogyan oldjam meg ? :S
3

Első

Poetro · 2012. Okt. 5. (P), 13.51
Mivel csak az első értéket kéred le (a mysql_fetch* egyetlen sort fog visszaadni a találatból). Egy while ciklusban kellene csinálod.
4

poetro :)

Shap · 2012. Okt. 5. (P), 15.42
nagyon szépen köszönöm poetro,megyek megpróbálom :)
2

Hibakeresés

Hidvégi Gábor · 2012. Okt. 5. (P), 10.22
Ajánlom figyelmedbe az Egyszerű hibakeresés című cikket, ahol többek között a legegyszerűbb PHP-s hibakeresési trükkökről is olvashatsz, így könnyen meg tudod találni, mi okozza a bajt.
5

:S nem megy,az 1.php-ban vagy

Shap · 2012. Okt. 6. (Szo), 14.18
:S nem megy,az 1.php-ban vagy a 2.phpban csináljak egy while ciklust?:S
6

gondolom a kettőben,mert az

Shap · 2012. Okt. 6. (Szo), 14.21
gondolom a kettőben,mert az 1.phpban tökéletesen működik.
7

nem tudom,hogy hogyan kellene

Shap · 2012. Okt. 6. (Szo), 14.48
nem tudom,hogy hogyan kellene összekapcsolni az 1.php-ban kiválasztott vtechhel :S
8

$sql = "SELECT * FROM

Shap · 2012. Okt. 6. (Szo), 15.09
$sql = "SELECT * FROM vtechuseritems WHERE userid = '".$_SESSION['userid']."'";
$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.
9

Kódszínező...

Pepita · 2012. Okt. 6. (Szo), 23.35
Légyszíves használd a colorer-t - ha már van -, így inkább csak magaddal fogsz beszélgetni.

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.
10

:)

Shap · 2012. Okt. 8. (H), 16.27
igazából csak ezt az egy sort kellett átírnom,azért köszönöm a támogatást :)sziasztok

$vtech = mysql_query("SELECT * FROM vtechuseritems WHERE userid = '" . $_SESSION['userid'] . "' AND id = '$id'");