0

データベースから値を取得して別のページに投稿するときに少し問題があります。私のコードはこちらです。search.php で、ユーザーが price min と price max を入力すると、result.php ページで、データベースから製品の名前と価格、および詳細情報へのリンクが表示されます。(info.php) この 3 番目のページには、いくつかの追加情報が表示されます。 result.php に表示される製品の ID に基づく情報 Id_product の値を結果から非表示にして 3 番目のフォームに投稿しようとしましたが、機能しません。エラーが発生しました Notice: Undefined index: id in info.php line 4

//////search.php /////

<form  method="post" action="result.php" > 
<tr> <INPUT type=text size=20 name=pricemin ><BR>  </tr>  
<tr> <INPUT type=text size=20 name=pricemax ><BR>  </tr>
<tr> <input type="submit" class="Nom" id="button" value="Valider" /></tr></form>

///////result.php //////

<?php include 'includes/connection.php';
$pricemin = $_POST['pricemin'];
$pricemax = $_POST['pricemax'];
$query = "SELECT * FROM product where price between '$pricemin' and '$pricemax'";
$result = mysql_query($query);?>
<?php if(mysql_num_rows($result) > 0)
while($products = mysql_fetch_array($result)) {?>   
<?php echo $products['name_product'] ;echo $products['price_product'] ;
echo "<a href='http://localhost/mywebsite/info.php'>More infos</a>"
?>
<form method="post" action="info.php" >
<input type="hidden" name="id" value="<?php echo $products['id_product']; ?>" />
</form><?php } ?>...

///// info.php //////

<?php
include 'includes/connection.php';
$id_product = $_POST['id'];
$query = "SELECT * FROM product where id_product='$id_product'";
$result = mysql_query($query);   ?>
<html><head><title>.. </title></head><body>
<?php 
while($products = mysql_fetch_array($result)) {?>
<h1>Product ID : <?php echo  $products['id_product'] ; ?> </h1>
<h1>Product name : <?php echo  $products['name_product'] ; ?> </h1>
<h1>Product Qt : <?php echo  $products['quantity_product'] ; ?> </h1>
<h1>Product Spec : <?php echo  $products['spec_product'] ; ?> </h1>
<?php } ?></body></html>
4

1 に答える 1

1

これを試して:

//////search.php /////

<form  method="post" action="result.php" > 
<tr> <INPUT type=text size=20 name=pricemin ><BR>  </tr>  
<tr> <INPUT type=text size=20 name=pricemax ><BR>  </tr>
<tr> <input type="submit" class="Nom" id="button" value="Valider" /></tr></form>

///////result.php //////

<?php include 'includes/connection.php';
$pricemin = $_POST['pricemin '];
$pricemax = $_POST['pricemax '];
$query = "SELECT * FROM product where price between '".$pricemin."' and '".$pricemax."'";
$result = mysql_query($query);

if(mysql_num_rows($result) > 0)
while($products = mysql_fetch_array($result)) {
$id = $products['id_product'];
echo $products['name_product'] ;echo $products['price_product'] ;
echo "<a href='info.php?id=";
echo $id;
echo "'>More infos</a>"
?>

<?php } ?>...

///// info.php //////

<?php
include 'includes/connection.php';
$id_product = $_GET['id'];
$query = "SELECT * FROM bien where id_product= '".$id_product."'";
$result = mysql_query($query);   ?>
<html><head><title>.. </title></head><body>
<?php 
while($products = mysql_fetch_array($result)) {?>
<h1>Product ID : <?php echo  $products['id_product'] ; ?> </h1>
<h1>Product name : <?php echo  $products['name_product'] ; ?> </h1>
<h1>Product Qt : <?php echo  $products['quantity_product'] ; ?> </h1>
<h1>Product Spec : <?php echo  $products['spec_product'] ; ?> </h1>
<?php } ?></body></html>

これにより、ID が info.php に渡されます。

また、フォームはボタンを送信した場合にのみ機能するため、リンクをクリックしても、JS の送信機能を使用しない限りフォームは送信されません。

于 2012-05-30T19:27:43.483 に答える