我如何在PHP中放一个?

时间:2019-01-16 09:14:54

标签: php soap html-table

我正在处理一个php代码段,并做了一张表格。我尝试将td标签放入其中,但是当我这样做时,很多东西都消失了。这是我的一部分代码:

//Use the functions of the client, the params of the function are in 
//the associative array
$params = array('customerid' => '1532');
$response = $soapclient->ca_customer_products($params);
echo '<table><tbody><tr><th>Product</th><th>Naam</th>   <th>Prijs</th><th>Qte</th></tr>';
echo '<table style="border-style: solid; border-width:1px;">';
foreach($response->list->element as $product) {
  if($product->stock > 0) {
  echo '<tr>';
  echo '<td style="display: flex; border: 1px solid black;">';
  //echo '<td>';
  echo '<img src="' . $product->url . '" class="php_image" style="width: 15%; height: 15%;"/>';
  //echo '<img style="width: 15%;">';
  //echo '</td>';
  print_r($product->description);
  echo "<p style='color:green;'>".$product->price1."</p>";
  echo "<p style='color:red; text-decoration: line-through'>".$product->price2."</p>"; 
  print_r($product->price1);
  print_r($product->price2);
  print_r($product->stock);
  echo '</tr>';  
  }
}
echo '</tbody></table>';

//后面的代码是我尝试放置td标签的位置,但是当我将其放置在此处时,通常显示的图像将变为空白,当我检查我的代码时,还有许多其他代码也消失了。我在这里做错什么了?

谢谢您的帮助!

4 个答案:

答案 0 :(得分:0)

首先,我可以看到以下几行的问题:

echo '<table><tbody><tr><th>Product</th><th>Naam</th>   <th>Prijs</th><th>Qte</th></tr>';
echo '<table style="border-style: solid; border-width:1px;">';

因为您只需要关闭最后一个表,而不要关闭另一个:

echo '</tbody></table>';

答案 1 :(得分:0)

您的<td><th>不一致。您可以在下面查看

$params = array('customerid' => '1532');
$response = $soapclient->ca_customer_products($params);
echo '<table style="border-style: solid; border-width:1px;">
    <thead>
        <tr>
            <th>Product</th>
            <th>Naam</th>   
            <th>Prijs</th>
            <th>Qte</th>
        </tr>
     </thead><tbody>';
foreach($response->list->element as $product) {
    if($product->stock > 0) {
        echo "<tr>
             <td style='display: flex; border: 1px solid black;'>   
                <img src='$product->url' class='php_image' style='width: 15%; height: 15%;'/>
             </td>
             <td>Your product name</td>
            <td>$product->description</td>
            <td>
                <p style='color: green;'>$product->price1</p>
                <p style='color: red;'>$product->price</p>
            </td>
            <td>$product->stock</td>
        </tr>";
    }
}
echo '</tbody></table>';
?>

答案 2 :(得分:0)

代码有很多问题。从我在您的代码中可以看到的,您在tbody中有一个表,最后只关闭了一个表。 其次,您还试图将td放入另一个td中,这是不正确的事情。请查看mozilla developer website,以获取有关使用HTML表的更多信息。

答案 3 :(得分:0)

//Use the functions of the client, the params of the function are in 
//the associative array
$params = array('customerid' => '1532');
$response = $soapclient->ca_customer_products($params);
echo '<table style="border-style: solid; border-width:1px;"><tbody><tr><th>Product</th><th>Naam</th>   <th>Prijs</th><th>Qte</th></tr>';
foreach($response->list->element as $product) {
  if($product->stock > 0) {
  echo '<tr>';
  echo '<td style="display: flex; border: 1px solid black;">';
  //echo '<td>';
  echo '<img src="' . $product->url . '" class="php_image" style="width: 15%; height: 15%;"/>';
  //echo '<img style="width: 15%;">';
  //echo '</td>';
  print_r($product->description);
  echo "<p style='color:green;'>".$product->price1."</p>";
  echo "<p style='color:red; text-decoration: line-through'>".$product->price2."</p>"; 
  print_r($product->price1);
  print_r($product->price2);
  print_r($product->stock);
  echo '</td></tr>';  
  }
}
echo '</tbody></table>';

您没有正确关闭标签。也请检出the docs,就像@christopher_bincom提到的那样。