Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅显示一条记录的数组_Php_Arrays - Fatal编程技术网

Php 仅显示一条记录的数组

Php 仅显示一条记录的数组,php,arrays,Php,Arrays,朋友们 我为再次发布此问题提前道歉 在解决向用户显示阵列结果的问题时,我得到了很大的帮助 错误问题已解决,结果正在显示 问题是数组显示一条记录 当我们插入多行记录时,只显示一条记录 有人知道会出什么问题吗 基本上,默认情况下,向用户显示一行文本框 如果用户需要添加其他记录,则用户单击“添加”按钮以动态添加一行额外的文本框 下面的代码来自一个名为preview.php的页面。它应该捕获用户在标记页面中输入的所有记录并显示它们,这样用户就可以选择查看记录并在需要时返回进行更改,或者在一切正常的情况下

朋友们

我为再次发布此问题提前道歉

在解决向用户显示阵列结果的问题时,我得到了很大的帮助

错误问题已解决,结果正在显示

问题是数组显示一条记录

当我们插入多行记录时,只显示一条记录

有人知道会出什么问题吗

基本上,默认情况下,向用户显示一行文本框

如果用户需要添加其他记录,则用户单击“添加”按钮以动态添加一行额外的文本框

下面的代码来自一个名为preview.php的页面。它应该捕获用户在标记页面中输入的所有记录并显示它们,这样用户就可以选择查看记录并在需要时返回进行更改,或者在一切正常的情况下提交记录

如上所述,无论用户创建了一行还是多行,它都只显示一条记录

我们希望捕获所有行

你知道我在下面的代码中遗漏了什么吗

我事先道歉。我必须在明天的工作中展示这个,它占用了我整个周末的时间

<?php
//echo "DEBUG POST DATA: <pre>".print_r($_POST, 1)."</pre>";
if(isset($_POST['employeename']))
    $employeename = $_POST['employeename'];
if(isset($_POST['ttitle']))
    $ttitle = $_POST['ttitle'];

echo $employeename .'<br>';
echo $ttitle .'<br> <hr width=400 align=left>';

$rowIDs = $_POST['rowIDs'];

for ($id = 0; $id < $rowIDs; $id++){
    $sourcename1 = $_POST['sourcename1'][$id];
    $sourceaddress1 = $_POST['sourceaddress1'][$id];
    $income1 = $_POST['income1'][$id];

    echo $sourcename1 .'<br>';
    echo $sourceaddress1.'<br>';
    echo $income1.'<br>';
}
?>


DEBUG POST DATA: 
Array
(
    [employeename] => Catherine Duffy
    [ttitle] => Sr. Systems Analyst
    [rowIDs] => 1
    [sourcename1] => Array
        (
            [0] => Mark 

Zverkov
        )

    [sourceaddress1] => Array
        (
            [0] => Address1
        )

    [income1] => Array
        (
            [0] => $79,000.00
        )

    [sourcename13] => Jim Brown
    [sourceaddress13] => 32 Xooker Rd
    [income13] => $99,000.00
    [spousename] => 
    [spouseAddress] => 
    [spouseIncome] => 
    [dividentname] => 
    [dividentaddress] => 
    [dividentAmt] => 
    [reimbursmentName] => 
    [reimburseAddr] => 
    [remursementAmt] => 
    [inputHonoraria] => 
    [giftname] => 
    [giftaddress] => 
    [giftamount] => 
    [orgname] => 
    [orgaddresss] => 
    [donationamt] => 
    [creditorname] => 
    [creditoraddress] => 
    [creditAmt] => 
    [email] => 
    [submitted] => true
)
Catherine Duffy
Sr. Systems Analyst

Mark Zverkov
Address1
$79,000.00

调试后数据:
<script id="row-template" type="text/x-handlebars-template">
<div>
      <!--reseed attribute IDs in case of gap resulting from deletions -->
     <input type="hidden" name="rowIDs[]" value="{{rowNumber}}" />
    <div class="form-group">
        <label for="sourcename{{rowNumber}}">Name</label><br>
        <input type="text" name="sourcename1{{rowNumber}}" id="sourcename1{{rowNumber}}" value="" class="required requiredField" />
        <?php if($nameError != '') { ?>
            <span class="error"><?=$nameError;?></span>
        <?php } ?>
    </div>
    <div class="form-group">
        <label for="sourceaddress1{{rowNumber}}">Address</label><br>
        <input type="text" name="sourceaddress1{{rowNumber}}" id="sourceaddress1{{rowNumber}}" style="width:250px;" class="form-control" value="" class="required requiredField" />
        <?php if($nameError != '') { ?>
            <span class="error"><?=$nameError;?></span>
        <?php } ?>
    </div>
    <div class="form-group">
      <label for="income1{{rowNumber}}">Income</label><br>
        <input type="text" style="width:250px;"  class="form-control" name="income1{{rowNumber}}" id="income1{{rowNumber}}" value="<?php if(isset($_POST['spouseIncome{{rowNumber}}'])) echo $_POST['spouseIncome{{rowNumber}}'];?>" class="required requiredField" />
        <?php if($nameError != '') { ?>
            <span class="error"><?=$nameError;?></span>
        <?php } ?>
    </div>
    <input id="Button{{rowNumber}}" type="button" rel="remove-row" value="Remove" />
</div>
</script>
<div id="addrow">
    <div>
    <!--reseed attribute IDs in case of gap resulting from deletions -->
       <input type="hidden" name="rowIDs[]" value="{{rowNumber}}" />
    <div class="form-group">
        <label for="sourcename">Name</label><br>
        <input type="text" name="sourcename1[]" id="sourcename1" value="" class="required requiredField" />
        <?php if($nameError != '') { ?>
            <span class="error"><?=$nameError;?></span>
        <?php } ?>
    </div>
    <div class="form-group">
        <label for="sourceaddress1">Address</label><br>
        <input type="text" name="sourceaddress1[]" id="sourceaddress1" style="width:250px;" class="form-control" value="" class="required requiredField" />
        <?php if($nameError != '') { ?>
            <span class="error"><?=$nameError;?></span>
        <?php } ?>
    </div>
    <div class="form-group">
      <label for="income1">Income</label><br>
        <input type="text" name="income1[]" id="income1" style="width:250px;"  class="form-control" value="" class="required requiredField" />
        <?php if($nameError != '') { ?>
            <span class="error"><?=$nameError;?></span>
        <?php } ?>
        <input type="button" value="Add More" rel="add-row" />
    </div>
    </div>
</div><br><br>
排列 ( [employeename]=>凯瑟琳·达菲 [ttitle]=>高级系统分析师 [rowIDs]=>1 [sourcename1]=>阵列 ( [0]=>标记 兹韦尔科夫 ) [sourceaddress1]=>阵列 ( [0]=>地址1 ) [income1]=>阵列 ( [0] => $79,000.00 ) [sourcename13]=>吉姆·布朗 [sourceaddress13]=>32 Xooker路 [income13]=>99000.00美元 [spoosename]=> [配偶地址]=> [spooseincome]=> [dividentname]=> [dividentaddress]=> [dividentam]=> [报销人姓名]=> [地址]=> [薪酬金额]=> [InputOnoraria]=> [giftname]=> [giftaddress]=> [giftamount]=> [组织名称]=> [orgaddresss]=> [donationamt]=> [creditorname]=> [信用卡地址]=> [信用金额]=> [电子邮件]=> [已提交]=>true ) 凯瑟琳·达菲 高级系统分析员 马克·兹韦尔科夫 地址1 $79,000.00
//加价

<div class="this-div-gets-repeated">
    <label>
        Source Name:
        <input type="text" name="source[{{ rowNumber }}][name]"/>
    </label>
    <label>
        Source Address:
        <input type="text" name="source[{{ rowNumber }}][address]"/>
    </label>
    <label>
        Income:
        <input type="text" name="source[{{ rowNumber }}][income]"/>
    </label>
</div>

名称
地址
收入

从您发布的代码片段和调试中,您的PHP代码似乎希望数据的格式与HTML表单生成的格式不同。很明显,您在表单上有很多工作要做,我可能建议您开始一个新的空白页面,并逐块重新创建表单,以确保在添加下一个字段块之前,每个部分都正确提交

具体到从表单接收多条记录的问题,如果您为表单中重复的部分格式化HTML(假设
{{rowNumber}
1
2
3
,…每次添加一条新的记录),如下所示:

<?php
$sources = isset($_POST['source']) ? $_POST['source'] : []; // just in case no sources are posted
foreach ($_POST['source'] as $id => $source) {
    $sourcename = $source['name'];
    $sourceaddress = $source['address'];
    $income = $source['income'];
    echo "$sourcename<br>$sourceaddress<br>$income<br>";
}
<!-- the default "first record" -->
<input type="text" name="sourcename1[]"/>

<!-- from the first click on "Add More" -->
<input type="text" name="sourcename11"/> 

<!-- from the second click on "Add More" -->
<input type="text" name="sourcename12"/>

源名称:
来源地址:
收入:
您可以期望在PHP中对其进行如下解析:

<?php
$sources = isset($_POST['source']) ? $_POST['source'] : []; // just in case no sources are posted
foreach ($_POST['source'] as $id => $source) {
    $sourcename = $source['name'];
    $sourceaddress = $source['address'];
    $income = $source['income'];
    echo "$sourcename<br>$sourceaddress<br>$income<br>";
}
<!-- the default "first record" -->
<input type="text" name="sourcename1[]"/>

<!-- from the first click on "Add More" -->
<input type="text" name="sourcename11"/> 

<!-- from the second click on "Add More" -->
<input type="text" name="sourcename12"/>

查看HTML表单可能很有用,这样我们就可以检查名称/事件
print\r($\u POST)的输出?是否应该增加$u POST['source$id']?让我们看看html表单字段名?以及$u POST数据。也许表单命名有问题,但我们还不知道。sourceaddress1{{{rowNumber}我在字段命名上使用RiggsFolly。为什么名称值中有1?有递增吗?@这正是我喜欢的。您可以批评我的代码或方法,但您提供了建设性的建议,在您的案例中,我非常感谢。非常感谢。我想我的问题是你的示例代码和我的有什么不同。顺便说一下,我正在使用AngularJS创建动态位。我这样问是为了更好地理解。我不熟悉Angular,但让我更新一下我的答案,看看你的HTML(现在你已经发布了)有什么问题。谢谢你的耐心,甚至是坚持的方法。@BrileyHooper我希望你准备好长期坚持下去one@RiggsFolly,我以为你说你放弃了。他说他正在更新他的评论。一旦他完了,我也完了。它要么帮我解决问题,要么我明天去上班,告诉经理我需要更多的时间。我会解决的,你可以打赌。