【问题标题】:Retrieve value from a table从表中检索值
【发布时间】:2017-08-15 20:24:18
【问题描述】:

我想知道每个tr 标签中第一个td 标签的内容。 问题是我需要将文件的标题和文件名存储在数据库中,而不需要为每个选择的文件重复代码。我正在尝试获取 <td> 标记的值。我编写了一个代码,向用户显示一个包含两列的表格,第一个是文件标题,第二个是选择文件的按钮,以便用户可以上传多个文件并通过 Send 发送按钮。 为了澄清这个想法:

这是我的代码:

 <td>Course Report</td>
         <td>@foreach ($temp1 as $fi)
           @if($fi->title =="Course Report")
           <form action="{{route('dele')}}" method="post" ><input type="hidden" name="_token" value="{{csrf_token()}} ">
           <button id="delete-id" name="filename" value="{{$fi->id}}">delete </button>
          @endif
           @endforeach
              @if($fi->title !="Course Report")
           <form action="{{route('filestest')}}" method="post" enctype="multipart/form-data">
            {{csrf_field()}}
           <input id="file-id"type="file" name="file1"></input>
         @endif
       </td>

       </tr>
       <tr> <td>Sample of Midterm Exam Answer sheet – High</td>
        <td>@foreach ($temp1 as $fi)
          @if($fi->title =="Sample of Midterm Exam Answer sheet – High")
          <form action="{{route('dele')}}" method="post" ><input type="hidden" name="_token" value="{{csrf_token()}} ">
          <button id="delete-id" name="filename" value="{{$fi->id}}">delete </button>
         @endif
          @endforeach
             @if($fi->title !="Sample of Midterm Exam Answer sheet – High")
          <form action="{{route('filestest')}}" method="post" enctype="multipart/form-data">
           {{csrf_field()}}
          <input id="file-id"type="file" name="file2" ></input>
        @endif
       </td>

【问题讨论】:

  • 那么,有什么问题?验证 ?文件上传/存储?
  • 您不应该使用== 进行字符串比较。 === 代替。
  • 这种情况下如何获取td标签内容?按价值?按名字?或任何其他方式。
  • 究竟是什么td标签内容?您有多个 td 标签。你想做什么?
  • 我需要每个 tr 标签中的第一个 td 标签。我需要将文件的标题和文件名存储在数据库中,而不需要为每个选择的文件重复代码。

标签: php laravel html-table


【解决方案1】:

如果要读取数据,请使用输入隐藏标签。 在隐藏标签值中设置数据。 也许它可以解决你的问题。

 <td>Sample of Midterm Exam Answer sheet – High</td>
        <td>@foreach ($temp1 as $fi)
          @if($fi->title =="Sample of Midterm Exam Answer sheet – High")
          <form action="{{route('dele')}}" method="post" ><input type="hidden" name="_token" value="{{csrf_token()}} ">
          <button id="delete-id" name="filename" value="{{$fi->id}}">delete </button>
         @endif
          @endforeach
             @if($fi->title !="Sample of Midterm Exam Answer sheet – High")
          <form action="{{route('filestest')}}" method="post" enctype="multipart/form-data">
           {{csrf_field()}}

          <input type="hidden" name="hiddenData" value="Your Data">
          <input id="file-id"type="file" name="file2" ></input>
        @endif
       </td>

【讨论】:

  • 如何在控制器中检索值 [ value="Your Data" ]?
  • 简单,因为您正在检索其他字段数据。例如:$request->get("hiddenData");
【解决方案2】:

如果您想一次上传多个文件,您必须使用一个包含所有上传输入的表单。目前您的代码正在生成无效的 html,因为表单未关闭。 但是您必须找到另一种删除文件的方法。也许是一个复选框。

要获取每个文件的标题,您必须将其与表单一起作为隐藏输入发送。

<form action="{{route('filestest')}}" method="post" enctype="multipart/form-data">
    {{csrf_field()}}
    <table>
        <tr>
            <td>Course Report</td>
            <td>
                @foreach ($temp1 as $fi)
                    @if($fi->title =="Course Report")
                        <label><input type="checkbox" name="delete_file" value="{{$fi->id}}" /> delete</label>
                    @endif
                @endforeach
                @if($fi->title !="Course Report")
                    <input id="file-id" type="file" name="file1" />
                    <input type="hidden" name="file1_title" value="Course Report" />
                @endif
           </td>
       </tr>
    </table>
    <button type="submit">send file</button>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    相关资源
    最近更新 更多