我试图得到一个元素的高度值列表,但它返回0.
我做了一些研究,看到为了获得元素的高度,该元素必须是可见的.
但是当它被隐藏时我想检查它的高度.如果它的高度大于某个值,则使用某些函数然后使其可见.有没有办法做到这一点?
我的意思是:
我有一个二维数组,我想用一个while循环将值推送到它;
$arr[0][1] = 1. value
$arr[0][2] = 2. value
Run Code Online (Sandbox Code Playgroud)
我试过了
while($zRow = mysql_fetch_array($zQuery))
{
$props[]['name'] =$zRow['name'];
$props[]['photo'] =$zRow['thumbnail'];
}
Run Code Online (Sandbox Code Playgroud)
这个循环将名称推送到$ props [0] [name]和缩略图到$ props [1] [照片]
我也试过了
$j = 0;
while($zRow = mysql_fetch_array($zQuery))
{
$props[$j]['name'] =$zRow['name'];
$props[$j]['photo'] =$zRow['thumbnail'];
$j+=1;
}
Run Code Online (Sandbox Code Playgroud)
虽然有效,但是当我以后使用foreach循环时,它就像"非法偏移类型"一样麻烦
这是我的foreach循环
foreach($props as $no)
{
echo $props[$no]['name'];
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题; 1)有没有其他方法比while循环使用$ j变量如array_push用于二维数组2)我如何使用foreach循环进行二维数组
我是关于正则表达式的新手我试图将2个或更多逗号替换为1并删除最后一个逗号.
$string1= preg_replace('(,,+)', ',', $string1);
$string1= preg_replace('/,([^,]*)$/', '', $string1);
Run Code Online (Sandbox Code Playgroud)
我的问题是:用一行正则表达式有没有办法做到这一点?
我正在尝试理解MVC,并学习CI框架.我有一些关于MVC的问题以及关于CI的一些基本问题.
1)视图是应用程序的可视部分,因为我从教程中读到,我的问题是:例如,有一个按钮"登录",但如果用户已经登录按钮将是"注销".登录检查在哪里?在控制器上还是在视图上?我的意思是
//this is view//
<?php if($_SESSION('logged') == true):?>
<a href="logout">Logout</a>
<?php else: ?>
<a href="login">login</a>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
要么
//this is controller//
if($_SESSION('logged') == true)
$buttonVal = 'logout';
else
$buttonVal = 'login';
//and we pass these value to view like
$this->view->load('header',$someData);
//this time view is like
<a href="<?=$somedata['buttonVal']?>"><?=$somedata['buttonVal']?></a>
Run Code Online (Sandbox Code Playgroud)
我只是写theese代码作为一个例子,我知道他们不会工作,他们是虚构的代码,但我想你得到了我的意思.登录检查应该在控制器上还是在视图上?
2)模型是否只包含有关数据的代码并将其返回给控制器?例如,有一个数学,我们从数据库中获得2个值并将它们相乘并显示它们.模型会倍增或控制器会这样做吗?
这里我们用模型加载数据并在controller:// model上进行数学运算
$db->query(....);
$vars=$db->fetchAll();
return $vars;
//controller
$multi = $vars[0] * $vars[1];
$this-load->view('bla.php',$mutli);
Run Code Online (Sandbox Code Playgroud)
这里我们用模型加载数据并在模型上进行数学运算,控制器只是将数据从模型传递到视图:
//model
$db->query(....);
$vars=$db->fetchAll();
$multi = $vars[0] * $vars[1];
return $multi;
//controller
$multi = $this->model->multiply();
$this-load->view('bla.php',$mutli); …Run Code Online (Sandbox Code Playgroud) 我有一个h4标题,当它被选中时我想改变它的背景颜色.我试过跟随css但它没有用.错误的部分在哪里?
.sub_topic h4 {
margin:0 0 0 20px;
color: #fff;
width:120px;
text-align: center;
background-color: #4e7ac7;
border: 3px solid #4e7ac7;
height:20px;
}
.sub_topic h4 .chosen {
background-color: #a0be29;
border: 3px solid #a0be29;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过.chosen,然后添加它,<h4>但它没有用.
我有一个主要的div有100%的宽度,并有2个div.一个有200px宽度,其他将是100%-200px,我的意思是;
-----------------this is main div -------------
| |
| ----subdiv1---- -------------subdiv2----------|
|| | | ||
| -------------- ---------------------------- |
|-----------------------------------------------|
Run Code Online (Sandbox Code Playgroud)
subdiv1有200 px,subdiv2的宽度将是其余的空白空间.我搜索谷歌但无法找到.
我正在考虑在将某些东西插入mysql数据库时创建一个json/xml/text,这样php页面就会读取这个而不是mysql查询.当数据在mysql数据库中更新时,它也会更新json/xml文件.这是一个好主意吗?看来,这将有更少的mysql查询,所以我认为这可能是好的.
我是一个很新的PHP,并试图学习.我有2个类似的课程.我想在传递count和object类型时创建那些对象.我读了一些关于工厂模式的文章 这是我的工厂类:
class AssetFactory
{
private static $table;
public static $objects = array();
public static function Create($asset,$count)
{
switch ($asset) {
case "Item":
self::$table = "items";
break;
case "Job":
self::$table = "jobs";
break;
}
$db = new Database();
$rows = $db->query("SELECT * FROM ".self::$table." LIMIT ".$count);
foreach($rows as $row)
{
self::$objects[] = new $asset($row);
}
return self::$objects;
}
}
Run Code Online (Sandbox Code Playgroud)
当我需要5件物品时我会使用:
$myItems = AssetFactory::Create('Item',5);
Run Code Online (Sandbox Code Playgroud)
当我需要一些我使用的工作时:
$myJobs= AssetFactory::Create('Job',5);
Run Code Online (Sandbox Code Playgroud)
项目和工作是类似的课程.我的问题就在这里,正如我所说,我试图学习.我这样做对吗?我了解工厂模式吗?有关于此的任何好文件(我在php.net上阅读所有内容,还有其他任何东西).
我有一个表命名member_photos,存储member_id,photo_id,photo_dir并且photo_name,当有人修改了他的照片,它张贴关于照片的数组containts信息,发布的页面将与照片信息的数组,但我的问题是我使用foreach循环和更新由一个像每一张照片一个
UPDATE member_photos
SET photo_name = '$newphotoname'
WHERE photo_id = '$photoid'
Run Code Online (Sandbox Code Playgroud)
这有效,但当这个家伙有20张照片时,数组有20个项目,所以循环将做20个查询.有什么方法可以用单个查询更新所有照片吗?
可能重复:
MySQL从多个表中删除行
我有5张桌子:
当我删除该成员时,我想从这些表中删除他的所有记录.member_id存在于所有表中.我这样做每个表有5个查询.我可以LEFT JOIN在一个查询中使用或类似的内容吗?