PHP+;动态网站,链接

PHP+;动态网站,链接,php,mysql,Php,Mysql,我正在尝试创建以下链接: test.com/article.php?=$id,其中$id来自数据库 $sql = "SELECT * FROM articles WHERE writer='$w_name' "; $result = mysqli_query($conn, $sql); $q = array(); $l = array(); if (mysqli_num_rows($result) > 0) { while ($row = m

我正在尝试创建以下链接: test.com/article.php?=$id,其中$id来自数据库

  $sql = "SELECT * FROM articles WHERE writer='$w_name' ";
   $result = mysqli_query($conn, $sql);

   $q = array();
   $l = array();

   if (mysqli_num_rows($result) > 0) {

       while ($row = mysqli_fetch_assoc($result)) {
           $q[]=$row['header'];
           $l[]=$row['id'];
       }
   }
例如,我有: $q=1,2,3和$l=1链接名、2链接名、3链接名

我试着用这种方式一起做,但效果不好:

<? 
    foreach($q as $header)
        { 
            echo'<li>'.$header.'</li>';
        } 
?>


<?
    foreach($l as $id) 
        { 
            echo "<a href='article.php?=$id'>".$header.'<br>'.'</a>'; 
         }
?>


foreach
循环最适合遍历单个数组。 如果您坚持将数据放在两个数组中,那么使用带有索引的
for
循环而不是
foreach
循环来迭代数组就更容易了

所以试试这个:

for($i=0; $i < count($l); $i++) {
  echo "<a href='article.php?=".$l[$i]."'>".$q[$i].'<br>'.'</a>';
}
for($i=0;$i

在此示例中,使用索引
$i
$l[$i]
以及
$q[$i]
A
foreach
循环访问数据最适合遍历单个数组。 如果您坚持将数据放在两个数组中,那么使用带有索引的
for
循环而不是
foreach
循环来迭代数组就更容易了

所以试试这个:

for($i=0; $i < count($l); $i++) {
  echo "<a href='article.php?=".$l[$i]."'>".$q[$i].'<br>'.'</a>';
}
for($i=0;$i

在此示例中,使用索引
$i
$l[$i]
以及
$q[$i]
A
foreach
循环访问数据最适合遍历单个数组。 如果您坚持将数据放在两个数组中,那么使用带有索引的
for
循环而不是
foreach
循环来迭代数组就更容易了

所以试试这个:

for($i=0; $i < count($l); $i++) {
  echo "<a href='article.php?=".$l[$i]."'>".$q[$i].'<br>'.'</a>';
}
for($i=0;$i

在此示例中,使用索引
$i
$l[$i]
以及
$q[$i]
A
foreach
循环访问数据最适合遍历单个数组。 如果您坚持将数据放在两个数组中,那么使用带有索引的
for
循环而不是
foreach
循环来迭代数组就更容易了

所以试试这个:

for($i=0; $i < count($l); $i++) {
  echo "<a href='article.php?=".$l[$i]."'>".$q[$i].'<br>'.'</a>';
}
for($i=0;$i
在本例中,使用索引
$i
$l[$i]
以及
$q[$i]
访问数据。您只需要一个数组:

$sql = "SELECT * FROM articles WHERE writer='$w_name' ";
   $result = mysqli_query($conn, $sql);

   $q = array();

   if (mysqli_num_rows($result) > 0) {

       while ($row = mysqli_fetch_assoc($result)) {
           $q[$row['id']]=$row['header'];
       }
   }
之后,只需按所需格式打印阵列:

foreach($q as $href => $text) {
    echo '<a href="http://test.com/article.php?=' . $href . '">' . $text . '</a><br />';
}
foreach($q as$href=>$text){
回声“
”; }
您只需要一个阵列:

$sql = "SELECT * FROM articles WHERE writer='$w_name' ";
   $result = mysqli_query($conn, $sql);

   $q = array();

   if (mysqli_num_rows($result) > 0) {

       while ($row = mysqli_fetch_assoc($result)) {
           $q[$row['id']]=$row['header'];
       }
   }
之后,只需按所需格式打印阵列:

foreach($q as $href => $text) {
    echo '<a href="http://test.com/article.php?=' . $href . '">' . $text . '</a><br />';
}
foreach($q as$href=>$text){
回声“
”; }
您只需要一个阵列:

$sql = "SELECT * FROM articles WHERE writer='$w_name' ";
   $result = mysqli_query($conn, $sql);

   $q = array();

   if (mysqli_num_rows($result) > 0) {

       while ($row = mysqli_fetch_assoc($result)) {
           $q[$row['id']]=$row['header'];
       }
   }
之后,只需按所需格式打印阵列:

foreach($q as $href => $text) {
    echo '<a href="http://test.com/article.php?=' . $href . '">' . $text . '</a><br />';
}
foreach($q as$href=>$text){
回声“
”; }
您只需要一个阵列:

$sql = "SELECT * FROM articles WHERE writer='$w_name' ";
   $result = mysqli_query($conn, $sql);

   $q = array();

   if (mysqli_num_rows($result) > 0) {

       while ($row = mysqli_fetch_assoc($result)) {
           $q[$row['id']]=$row['header'];
       }
   }
之后,只需按所需格式打印阵列:

foreach($q as $href => $text) {
    echo '<a href="http://test.com/article.php?=' . $href . '">' . $text . '</a><br />';
}
foreach($q as$href=>$text){
回声“
”; }
解决方案:

此解决方案将消耗更少的内存和效率

你可以这样使用它。假设您在articles表中有id和header字段。通过使用单次迭代(循环),您可以实现所需的结果

$sql = "SELECT id,header FROM articles WHERE writer='$w_name' ";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
   while ($row = mysqli_fetch_assoc($result)) {
       $id = $row['id'];
       echo "<a href='article.php?=$id'>" . $row['header'] . '</a>';
       echo '<br />';
   }
}
$sql=“从文章中选择id,标题,其中writer='$w_name';
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u assoc($result)){
$id=$row['id'];
回声“;
回声“
”; } }
解决方案:

此解决方案将消耗更少的内存和效率

您可以这样使用它。假设您在articles表中有id和header字段。通过使用单次迭代(循环),您可以实现您想要的结果

$sql = "SELECT id,header FROM articles WHERE writer='$w_name' ";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
   while ($row = mysqli_fetch_assoc($result)) {
       $id = $row['id'];
       echo "<a href='article.php?=$id'>" . $row['header'] . '</a>';
       echo '<br />';
   }
}
$sql=“从文章中选择id,标题,其中writer='$w_name';
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u assoc($result)){
$id=$row['id'];
回声“;
回声“
”; } }
解决方案:

此解决方案将消耗更少的内存和效率

你可以这样使用它。假设您在articles表中有id和header字段。通过使用单次迭代(循环),您可以实现所需的结果

$sql = "SELECT id,header FROM articles WHERE writer='$w_name' ";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
   while ($row = mysqli_fetch_assoc($result)) {
       $id = $row['id'];
       echo "<a href='article.php?=$id'>" . $row['header'] . '</a>';
       echo '<br />';
   }
}
$sql=“从文章中选择id,标题,其中writer='$w_name';
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u assoc($result)){
$id=$row['id'];
回声“;
回声“
”; } }
解决方案:

此解决方案将消耗更少的内存和效率

您可以这样使用它。假设您在articles表中有id和header字段。通过使用单次迭代(循环),您可以实现您想要的结果

$sql = "SELECT id,header FROM articles WHERE writer='$w_name' ";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
   while ($row = mysqli_fetch_assoc($result)) {
       $id = $row['id'];
       echo "<a href='article.php?=$id'>" . $row['header'] . '</a>';
       echo '<br />';
   }
}
$sql=“从文章中选择id,标题,其中writer='$w_name';
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u assoc($result)){
$id=$row['id'];
回声“;
回声“
”; } }

或者只构建一个数组,因为标题和ID似乎在臀部绑在一起……你可能是对的,我只是认为opt有理由将数据拆分为两个数组。它再次为我提供了所有组合。9个链接3@Misa,请注意,只有一个用于循环,我希望看到您的解决方案的更多解释。代码转储对未来的编码人员没有多大帮助。或者只构建一个数组,因为标题和ID似乎是紧密联系在一起的……你可能是对的,我只是认为opt有理由将数据拆分为两个数组。它再次给了我所有的组合。9个链接3@Misa,请注意,只有一个用于循环,我希望看到您的解决方案的更多解释。代码转储对未来的编码人员没有多大帮助。或者只构建一个数组,因为标题和ID似乎是紧密联系在一起的……你可能是对的,我只是认为opt有理由将数据拆分为两个数组。它再次给了我所有的组合。9个链接3@Misa,请注意,只有一个用于循环,我希望看到您的解决方案的更多解释。代码转储对未来的编码人员没有多大帮助,或者只构建一个数组,因为头文件和ID似乎是紧密联系在一起的……您需要