我是php新手,但我似乎无法在php手册中找到直接的答案,或者在这个论坛的任何地方寻求帮助。我要做的是将sql_query结果拉到多维数组中,然后为结果的每一行添加一个单选按钮。这样,我就可以将值提交给cookie和/或会话到下一页,以提取数据并提供有关主题的更多详细信息。
这是我到目前为止的代码:
<?php
mysqli_connect('$db', 'user', 'abc123')
//connect to database
//query mining ops where active = 1 and type = alliance or donate
//if result = 0, echo "no current ops open"
//else, continue ->
$qresult = mysql_query("SELECT mineopnum,location,optype,starttime,playercount,isk,completed FROM mining ops WHERE completed='0' AND optype='alliance' OR optype='donate'ORDER BY mineopnum,starttime DESC")
while($info = mysql_fetch_array($qresult))
IF mysql_num_rows($qresult == '0'{
echo "no current ops open"}
//Table results:
//mineopnum //location //optype //starttime //playercount // isk // completed
//database structure layout:
//0 - mineopnum //10 - OREdenseveld //20 - OREkernite //30 - OREgleamspod //40 - OREprismaticgneiss //50 - OREark
//1 - location //11 - OREscord //21 - OREluminouskern //31 - OREbrightspod //41 - OREdarko //51 - OREcrimsonark
//2 - op type //12 - OREcondscord //22 - OREfierykern //32 - OREhemor //42 - OREobsidiano //52 - OREprimeark
//3 - starttime //13 - OREmassivescord //23 - OREomber //33 - OREvividhemor //43 - OREonyxo //53 - OREmerc
//4 - playercount //14 - OREplag //24 - OREsilveromber //34 - OREradianthemor //44 - OREcrok //54 - OREvitmerc
//5 - players //15 - ORErichplag //25 - OREgoldenomber //35 - OREhedb //45 - OREcrystalcrok //55 - OREmagmamerc
//6 - isk //16 - OREazureplag //26 - OREjaspet //36 - OREglazedhedb //46 - OREsharpcrok //56 - ICEclearicicle
//7 - completed //17 - OREpyrox //27 - OREpristinejaspet //37 - OREvitrichedb //47 - OREbistot //57 - ICEenrichedclearice
//8 - OREveld //18 - OREsolidpyrox //28 - OREpurejaspet //38 - OREgneiss //48 - OREmonobist //58 - ICEglacialmass
//9 - OREcondveld //19 - OREviscouspyrox //29 - OREspod //39 - OREiridescentgneiss //49 - OREtribist //59 - ICEsmoothglacial
$value = '0'
$radio = <input type="radio" name="openops" value="$value++">
//form into array
//add radio button at beginning of each row in array
//print array
print_r($qresult)
//private op
// query mining
// when submit is pressed, push selected radio to cookie/session
// redirect to joinminingop.php
//pulls posted data and creates cookie data which will in turn be sent to the mining op page
?>
如php注释中所述,我想创建一个单选按钮,以便我可以选择返回的整行数据并将其转发到下一页,以获取更多细节和基于从顶部菜单中选择的按钮的可选附加代码。这必须在每一行上完成,但我只是在没有看到好的直接示例的情况下添加"高级"功能时迷失了方向。
提前感谢您的帮助
第一个问题:几乎所有的代码都必须以;字符,例如:
mysqli_connect('$db', 'user', 'abc123');
然后:如果没有以其他方式声明,则while必须有开始和结束标记:{和}。我不知道你想怎么做,所以我只给你指示:
<?php
mysqli_connect('$db', 'user', 'abc123');
$qresult = mysql_query("SELECT mineopnum,location,optype,starttime,playercount,isk,completed FROM mining ops WHERE completed='0' AND optype='alliance' OR optype='donate'ORDER BY mineopnum,starttime DESC");
if(mysql_num_rows($qresult == "0")){
echo("no current ops open");}
while($info = mysql_fetch_array($qresult)){
$value = '0';
$radio = "<input type='radio' name='openops' value='$value++'>";
print("".$radio."").print_r($qresult);}
?>
我没有修复这个:$value = '0';$radio = ";,因为这不是识别你按下了哪个按钮的好方法。您应该找到另一种方法,例如,在名为id的sql中添加额外的行,并为它们提供PRIMARY索引,以便稍后在其他代码中处理此操作。我知道,我的代码并不完美,但对于指导来说,它是好的。你应该注意;