2016-09-07 4 views
0

Я изучаю PHP и MySQL для самостоятельного проекта и, видимо, застрял. Сайт, который я пытаюсь сделать, включает в себя отправку форм и их просмотр. Мне удалось создать цикл, чтобы отобразить все формы, которые были отправлены и еще не обработаны (следовательно, подвержены обзору), и каждая форма имеет свою собственную ссылку, которая перенаправляет данные, указанные в этой форме.Динамические ссылки с использованием PHP и MySQL в цикле

$query = mysqli_query ($conn, "SELECT * FROM members WHERE username = '$myrealusername' LIMIT 1"); 
    $result = $query->fetch_assoc(); 
    $id = $result ['id']; 
    echo 'Welcome ' . $id . '. <br>'; 

    $quer = mysqli_query ($conn, "select count(*) as total from carforms where aboveid='$id' and processed='0'"); 
    $data = $quer->fetch_assoc(); 
    $total = $data ['total']; 
    $quer = mysqli_query ($conn, "select fullname as CurrentName, formid as CurrentForm from carforms where aboveid='$id' and processed='0'"); 
    for ($x=1; $x<=$total; $x++) { 
     $data = $quer->fetch_assoc(); 
     $forms = $data ['CurrentName']; 
     $forma = $data ['CurrentForm']; 
    echo 'Form No.'. $forma .' by: ' .$forms .'<a href="reviewform.php">Click here to review</a>.<br>'; 
    } 
    ?> 

и это то, что он показывает:

Welcome 2. 
Form No.1 by: John Miller Click here to review. 
Form No.2 by: John Miller Click here to review. 
Form No.3 by: Mike Tywell Click here to review. 
Form No.4 by: John Miller Click here to review. 
Form No.5 by: Eric Paton Click here to review. 

Проблема заключается в том, что я понятия не имею, как передавать различные данные по каждой ссылке, которая показана в таблице CARFORM MySQL, которая также включает в себя данные такие как тип автомобиля, цвет автомобиля и т. д. и отличается для каждого человека.

Заранее спасибо.

ответ

1

Вы должны добавить его в виде строки запроса например

echo 'Form No.'. $forma .' by: ' .$forms .'<a href="reviewform.php?id='.$row['id'].'">Click here to review</a>.<br>'; 

FYI Вы можете сделать это намного проще

$query = mysqli_query ($conn, "SELECT * FROM members WHERE username = '$myrealusername' LIMIT 1"); 
    $result = $query->fetch_assoc(); 
    $id = $result ['id']; 
    echo 'Welcome ' . $id . '. <br>'; 

    $quer = mysqli_query ($conn, "select id,fullname as CurrentName, formid as CurrentForm from carforms where aboveid='$id' and processed='0'"); 
    while($data= mysqli_fetch_array($quer)) { 

     $forms = $data ['CurrentName']; 
     $forma = $data ['CurrentForm']; 
    echo 'Form No.'. $forma .' by: ' .$forms .'<a href="reviewform.php?id='.$data['id'].'">Click here to review</a>.<br>'; 
    } 
    ?> 

Или что-то подобное.

1

Вам просто нужно добавить параметр к якорю

for ($x=1; $x<=$total; $x++) { 
    $data = $quer->fetch_assoc(); 
    $forms = $data ['CurrentName']; 
    $forma = $data ['CurrentForm']; 
    echo "Form No. $forma by: $forms <a href='reviewform.php?formid=$forma'>Click here to review</a><br>"; 
} 

В reviewform.php вы затем сможете использовать $_GET массив, чтобы увидеть, какое значение было передано в formid параметра

<?php 
if (isset($_GET['formid']) { 
    // we have a parameter passed 

Вы можете добавить более одного параметра к якорю, подобному этому

echo "Form No. $forma by: $forms <a href='reviewform.php?formid=$forma&user=$id'>Click here to review</a><br>"; 
Смежные вопросы