小编use*_*687的帖子

PHP表格POST中的已选中复选框是否有限制?

我遇到了一个问题,我似乎无法修复.我有一个表单(method ="post"enctype ="multipart/form-data"),用户可以在其中选择一些选项.他们有可能"全部检查".如果他们"全部检查",他们正在检查大约2000多个盒子.要检查我的表单是否实际发布,我有以下(不是那么复杂)的代码:

<?php

if(isset($_POST['bijwerken'])) {

echo "YIPPEE!!";

}

?>
Run Code Online (Sandbox Code Playgroud)

现在,如果我检查所有方框,我不会得到任何反馈.如果我只选择20个盒子,我确实得到了反馈.我错过了什么?复选框也由脚本生成,带有echo:

echo "&nbsp;&nbsp;<input type=\"checkbox\" name=\"productsoorten[]\" value='" . $rowproductsoorten1[productsoort1] . "'>&nbsp;  " . $rowproductsoorten1[productsoort1] . "<br />"; 
Run Code Online (Sandbox Code Playgroud)

很想听到一些好主意!

php checkbox

5
推荐指数
1
解决办法
1937
查看次数

SQL查询没有正确使用索引

我的一个SQL查询有问题.这是我的查询:

explain 
SELECT DISTINCT profiles.hoofdrubriek, profiles.plaats, profiles.bedrijfsnaam, profiles.gemeente, profiles.bedrijfsslogan, profiles.straatnaam, profiles.huisnummer, profiles.postcode, profiles.telefoonnummer, profiles.fax, profiles.email, profiles.website, profiles.bedrijfslogo 
FROM profiles 
LEFT JOIN profile_subrubriek ON profiles.ID=profile_subrubriek.profile_id 
LEFT JOIN rubrieken ON profile_subrubriek.subrubriek_id=rubrieken.ID  
WHERE (
    rubrieken.rubriek = 'Pedicurepraktijken' OR 
    profiles.hoofdrubriek = 'Pedicurepraktijken'
) 
ORDER BY profiles.grade DESC, profiles.bedrijfsnaam
Run Code Online (Sandbox Code Playgroud)

这段查询中的"OR"运算符会导致麻烦:

rubrieken.rubriek = 'Pedicurepraktijken' OR profiles.hoofdrubriek = 'Pedicurepraktijken'
Run Code Online (Sandbox Code Playgroud)

我已经在我的所有表上应用了索引,如果我取出上面两行代码中的一行,它就能正常运行.将它们与OR运算符组合会导致它崩溃并拒绝使用我在配置文件表中的'hoofdrubriek'列上应用的索引.在我的相关表格的布局下面:

CREATE TABLE `profiles` (
 `ID` varchar(255) NOT NULL DEFAULT '',
 ......
 `hoofdrubriek` varchar(255) DEFAULT NULL,
...


 `timestamp` datetime DEFAULT NULL,
 `meerderevestigingen` varchar(255) NOT NULL,
 `grade` int(5) NOT …
Run Code Online (Sandbox Code Playgroud)

mysql sql indexing join

5
推荐指数
1
解决办法
114
查看次数

Shuffle前20个准备好的声明结果

我有一个SQL查询给出大约100+的结果,我想要洗牌前20个结果(其他80+应该保持在SQL查询选择它们的顺序).现在最好的方法(我不想增加SQL负载,所以没有ORDER BY等)是将结果放在一个数组中,切片数组,将切片的20个结果洗牌,将它们放回去并显示它们.但是,我不确定如何用准备好的声明来做到这一点.有什么指针吗?

$array = $stmt -> fetch();
Run Code Online (Sandbox Code Playgroud)

没有得到我希望的结果.这不会创建包含结果的数组.您可以在下面找到代码的相关部分:

$stmt->prepare($query);

  $stmt->bind_param('ssii', $dienstenpage, $huidigegemeente, $startpoint, $limit);

  $stmt->execute();

  $stmt->bind_result($prepid, $prephoofdrubriek, $prepplaats, $prepbedrijfsnaam, $prepgemeente, $prepbedrijfsomschrijving, $prepbedrijfsslogan, $prepstraatnaam, $prephuisnummer, $preppostcode, $preptelefoonnummer, $prepfax, $prepemail, $prepwebsite, $prepbedrijfslogo, $prepdubb);


$stmt->store_result();

$numrows = $stmt->num_rows;


   while($stmt->fetch()) {

this displays all the results...

}
Run Code Online (Sandbox Code Playgroud)

php mysql sql

0
推荐指数
1
解决办法
62
查看次数

标签 统计

mysql ×2

php ×2

sql ×2

checkbox ×1

indexing ×1

join ×1