这不是一个问题,而是我发现的自生问题/问题和解决方案.我认为分享是不错的礼貌,因为我找不到完整的工作解决方案.
phpMyAdmin中生成的错误是:
"此表格不包含唯一列.网格编辑,复选框,编辑,复制和删除功能不可用."
根据您的具体情况,有几种可行的解决方案.
例如,只要您的所有AI或唯一标识符字段都是唯一的,您就可以简单地更改表并确保这是主键并设置为唯一值.
我在其中一张桌子上用这个解决方案解决了这个问题.
另一个表有多个AI int值,它们是Primary字段,但是有多个相同类型的值.
对此的简单修复就是将一列添加到表的末尾,作为Unique AI Int.基本上所有MySQL都说它需要在每条记录中使用唯一值来区分行.
希望这有用.
我知道compact()是一个标准的PHP函数.而set()是一种特定于蛋糕的方法.
我运行一个值传递给使用Ajax生成的视图(用户呈现()在我的控制器)的一个简单的测试,和,如果我的设置是这样,因此仅通过从控制器到该视图的值:
$variable_name_to_pass = "Passing to the view using set() can compact()";
$this->set(compact('variable_name_to_pass'));
Run Code Online (Sandbox Code Playgroud)
从阅读手册,看来set()应该与w/out compact一起工作.
任何人都可以解释为什么set()不会单独工作?喜欢
$this->set('variable_name_to_pass');
Run Code Online (Sandbox Code Playgroud) 我正在运行一个非常简单的if语句,它完美无缺,直到我添加了两个额外的|| (或)运营商.
这是我的代码:
if ($planDetails['Company']['name'] != 'company1'
|| $planDetails['PlanDetail']['name'] != 'pd-name1'
|| $planDetails['PlanDetail']['name'] != 'pd-name2') { echo "TEST"; }
Run Code Online (Sandbox Code Playgroud)
我检查了我的数组数据和表值,以确保它们在名称等方面是精确的.这不是踢.我究竟做错了什么?当我删除额外的2 || 选项,第一个参数工作正常,所以我知道我的逻辑是正确的.
这个名字是什么,我在这里做错了.有人请我直截了当!
我不知道为什么我会收到一份未定义的抵消通知:
<?php
$numbers = array('1','2','3');
$total = 0;
for($i=0;$i<=sizeof($numbers); $i++) {
$total += $numbers[$i];
echo $total;
}
?>
Run Code Online (Sandbox Code Playgroud)
输出:
136注意:未定义的偏移量:在第17行的 E:\ php\arrays\array_1.php中为3 6
我有 3 个正在连接的字段,它在我的查询中工作得很好,但我无法解决如何从 concat 字段中的合并数据中删除空格。
TRIM(CONCAT(c.data1,c.data2)) AS concat_done
Run Code Online (Sandbox Code Playgroud)
结果:
concat_done
33 0250S 0450E 028NW
Run Code Online (Sandbox Code Playgroud) 我试图让我的复选框值保存在我动态创建的输入上,而我的失败是悲惨的.是的我在线阅读了十几个或更多的教程,但我找不到一个迎合动态复选框列表的...请设置我的海峡!
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="checkboxForm">
<?php
$checkbox[] = array();
while($row = mysql_fetch_array($result)) {
$checked = isset($_POST['checkbox']) ? " checked" : "";
echo "<input name=\"checkbox[]\" type='checkbox' value='" . $row['first_name'] . "' $checked /> ";
echo $row['first_name'];
echo "<hr />";
//print_r( $_POST['checkbox']);
}
if(isset($_POST['checkbox']) && !empty($_POST['checkbox'])) {
foreach($_POST['checkbox'] as $checkbox){
echo $checkbox . "<br />";
} }
?>
Run Code Online (Sandbox Code Playgroud) 我正在对数组做一些研究,我正在尝试解决如何将foreach
循环的值存储到数组中然后我可以print_r()
.
除了$array = foreach()...
And 之外,我的脚本工作正常.你可以看到我调用return;
将结果返回给$array
变量,但是我得到一个解析错误.
到目前为止,这是我的代码:
<?php
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="radio" name="DataNameOne" value="Value 1">
<input type="radio" name="DataNameTwo" value="Value 2">
<input type="radio" name="DataNameThree" value="Value 3">
<input type="submit" />
</form>
<?php
$array = foreach ($_POST as $key=>$value) {
if (stristr($key, "section")) {
$section = $value;
$section_name = $key;
return;
}
echo "Key is: $key and Valus is: $value";
}
echo "<pre>";
print_r($array);
echo "</pre>";
?>
Run Code Online (Sandbox Code Playgroud) 我的选择表单工作正常,但无论参数的变化或排列如何,我的标签都不会显示.
这是我的代码:
<?php echo $this->Form->input('plan_detail_id', $plans_list, array(
'type' => 'select',
'label' => 'Select a the Plan Detail',
'empty' => '-- Select a the Plan Detail --'
)); ?>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我有第二个参数$plan_list
,通常是label标签的位置.例如,我的所有其他标签都可以:
<td><?php echo $this->Form->input('age_id', array(
'label' => 'Select an Age Range',
'empty' => '-- Select an Age Range --'
)); ?></td>
Run Code Online (Sandbox Code Playgroud)
注意:没有$argument
像第一个例子那样的第二个例子.我做错了吗?或者这不可能或是一个错误?
这可能是一个非常愚蠢和自我回答的问题:我正在删除我的提交内容(但需要提交到我的表格并将数据回显到屏幕上):
$num_of_badges = stripslashes(trim(mysql_real_escape_string($_POST['num_of_badges'])));
Run Code Online (Sandbox Code Playgroud)
当然数据是传递的,但是stripslashes()``** here defeat the purpose of
mysql_real_escape()是吗?
所以:Bill's成为表中的Bills并在屏幕上回显.
我一直很困惑为什么这不会工作!我的查询在所有方面都执行得非常好,但是当我在$ row值上添加if检查时,echo消息按预期进行(如果没有结果),但是当我的查询中存在匹配时,else将不会启动??? 为什么这不起作用?有人请缓解我的痛苦,让我直截了当!
$row = mysql_fetch_array($result);
if (!$row) {
echo "Sorry brah. Nothing matches your search criteria.";
} else {
$i = 1;
while($row = mysql_fetch_array($result)) {
echo "$i - " . $row['first_name'] . " " . $row['last_name'] . " - " . $row['address'] . "<br />";
$i++;
}
}
Run Code Online (Sandbox Code Playgroud)