我只是想要掌握OOP,很抱歉,如果这个问题似乎有点遍布整个地方,那就是我现在的感觉.
我已经在PHP文档中查看了构造函数,但它似乎没有涵盖依赖注入.
我有一个名为DatabaseLayer的类,这个类只是创建了一个到我的数据库的连接
//php class for connecting to database
/**
* Class DatabaseLayer - connects to database via PDO
*/
class DatabaseLayer
{
public $dbh; // handle of the db connexion
/**
* @param $config Config- configuration class
*/
private function __construct(Config $config)
{
$dsn = $config->read('db.dsn');
$user = $config->read('db.user');
$password = $config->read('db.password');
$this->dbh = new \PDO($dsn, $user, $password);
}
public function getConnection()
{
if ($this->dbh)
{
return $this->dbh;
}
return false;
}
} …Run Code Online (Sandbox Code Playgroud) 我现在发了几篇关于jqgrid的帖子,并且慢慢地但肯定地得到了.
我有代码,当在完整的网格函数中生成网格时,为每行生成按钮:
gridComplete: function(){
var ids = jQuery("#rowed2").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++){
var cl = ids[i];
be = "<input style='height:22px;width:20px;' type='button' value='E' alt='Edit Location' onclick=\"jQuery('#rowed2').editGridRow('"+cl+"');\" />";
se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=\"jQuery('#rowed2').saveRow('"+cl+"');\" />";
ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=\"jQuery('#rowed2').restoreRow('"+cl+"');\" />";
fl = "<input style='height:22px;width:50px;' type='button' value='Find' alt='Find Location' class='findMe' rel='"+cl+"' />";
gc = "<input style='height:22px;width:50px;' type='button' value='Geo' class='geocodeMe' rel='"+cl+"' />";
jQuery("#rowed2").jqGrid('setRowData',ids[i],{Actions:fl+gc});
}
}
Run Code Online (Sandbox Code Playgroud)
对于我的编辑删除功能,它将jqgrid行id作为id参数发布,这需要是记录集ID,因此我可以过滤要编辑/删除的记录.所以我将id_~mdt colulm设置为key:true,因此它将此作为id传递.
现在我无法使用以下方法检索网格行id :(之前它返回了gridrow ref,现在它返回recordId)
ids = jQuery("#rowed2").jqGrid('getDataIDs');
Run Code Online (Sandbox Code Playgroud)
那我现在如何重新审视gridrowId ??? 放入我的按钮的rel属性
我假设我应该使用除了getRowIdsget GridRowID …
我试图将实体彼此联系起来
当我跑步时doctrine:schema:update --dump-sql
我得到以下信息:
ALTER TABLE fd_dailyFantasyplayer ADD playerID_id INT DEFAULT NULL;
ALTER TABLE fd_dailyFantasyplayer ADD CONSTRAINT FK_7DB7E9EBE1883E45 FOREIGN KEY (playerID_id) REFERENCES fd_player (id);
CREATE INDEX IDX_7DB7E9EBE1883E45 ON fd_dailyFantasyplayer (playerID_id);
Run Code Online (Sandbox Code Playgroud)
注意名称 ADD playerID_id
我希望该列被称为playerID
我的实体:
但是,如果我添加列注释: * @ORM\Column(name="playerID")
ALTER TABLE fd_dailyFantasyplayer ADD playerID INT NOT NULL;
Run Code Online (Sandbox Code Playgroud)
索引和约束被省略。
我如何将列名设置为playerID(学说将额外的_id添加到列名的原因是什么?
玩家:
namespace FantasyPro\DataBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* Player
*
* @ORM\Table(name="fd_player")
* @ORM\Entity(repositoryClass="FantasyPro\DataBundle\Entity\PlayerRepository")
*/
class Player
{
public function __construct()
{
$this->contestEntries = new ArrayCollection();
$this->dailyFantasyPlayers = …Run Code Online (Sandbox Code Playgroud) 我在页面右侧有一个链接列表,单击该链接可加载ajax内容
因为链接列表比内容长,我想始终保持加载的内容在视图中
我正在使用以下代码来做到这一点
$(window).scroll(function(){
$("#answertext")
.stop()
.animate({"marginTop": ($(window).scrollTop() - 500) + "px"}, "slow" );
});
Run Code Online (Sandbox Code Playgroud)
问题是我想将其包含在其保持的div中,此刻,如果我滚动到页面顶部,则div离开其包含div并将鼠标悬停在上面的内容上。
看看他的网址以查看问题(单击新闻以加载ajax内容,然后滚动页面) 演示
更新:
谢谢locrizak,现稍微编辑了您的代码:
就像您曾经在_offset声明中省略#一样,它什么也没有做,所以我将_offset更改为包含div的'#tabpage5',现在将div放置在内容中时,它会将div放在正确的位置。
var tp5_offset = $("#tabpage5").offset();
if ( $(window).scrollTop() > tp5_offset.top ){
$("#answertext")
.stop()
.animate({"marginTop": ($(window).scrollTop() - tp5_offset.top) + "px"}, "slow" );
}
Run Code Online (Sandbox Code Playgroud)
尽管我希望它随着窗口滚动而滚动,但仍处于#tabpage5 div的范围内。关于如何做到这一点的任何想法?
我正在调用另一个ajax页面,该调用发布了一个json对象.我还需要从表单发送数据(不使用提交 - 我将ajax调用附加到使用的按钮e.preventDeault()).
电话如下:
var myUrl = 'sendswatch-data.php';
$.ajax({
url: myUrl,
data: {'swatchid[]':swatchArray}, 'formdata':$('#orderData').serialize()},
type: "POST",
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(myData){
$('#tabsampleorder').html(myData);
$('.tabber').hide();
$('#tabsampleorder').show();
}
});
Run Code Online (Sandbox Code Playgroud)
我在formdata的页面ID上有一个表单.
如何发送此以及json对象?我试过了
data: {'swatchid[]':swatchArray}, 'formdata':$('#orderData').serialize()},
Run Code Online (Sandbox Code Playgroud)
但那会产生错误.
我环顾四周,但似乎无法找到问题的答案.
这是我第一次使用PDO,因此它是一个完整的新手.
我有一大堆数据分成2个表,并希望将它们合并为一个,还有其他方法可以做到这一点,但没有考虑复杂的原因我为什么这样做...
我生成了我要复制数据的表的记录集
构建我的陈述
在循环中运行它
但是我收到以下错误
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match the number of tokens
Run Code Online (Sandbox Code Playgroud)
我经历了三次检查,我有相同数量的变量,所以为什么"令牌不匹配,我不知道",就像我说这是非常新的,所以我可能会错过专业人士认为显而易见的东西.
可能值得一提的是,我没有添加到表中的每一列,还有其他列,但我已经将它们从准备好的语句中删除了...继承我的代码:
//$dbh = new PDO($hostname_Seriously, $DB_USER, $DB_PASSWORD);
$dbh = new PDO('mysql:host=localhost;dbname=seriouslysoulful_summers', $username_Seriously, $password_Seriously);
$stmt = $dbh->prepare("INSERT INTO records_rec (oldid_rec, firstname_rec, artist_rec, aside_rec, bside_rec, label_rec, condition_rec, genere_rec, price_rec, collection_rec, active_rec, info_rec, notes_rec, order_rec, alabelimage_rec, blabelimage_rec, asound_rec, bsound_rec, featured_rec, format_rec)
VALUES (:oldid_rec, :firstname_rec, :artist_rec, :aside_rec, :bside_rec, :label_rec, :condition_rec, :genere_rec, :price_rec, :collection_rec, :active_rec, :info_rec, :notes_rec, :order_rec, :alabelimage_rec, :blabelimage_rec, asound_rec, bsound_rec, …Run Code Online (Sandbox Code Playgroud)