2012-03-13 5 views
1

Я даже не знаю, как Google этот ... представьте, что это что-то глупо ... но любая помощь будет большим ...

передавая переменную при отправке формы. ..when эхо $ _POST это хорошо ... но когда я положил его в переменную PHP дублируется

<? 

//list transactions by month 
if ($_POST['m']=="yes"){ 
$table = $_POST['month']; 
$_SESSION['table']=$_POST['month']; 

$conn = mysql_connect("localhost", "mss_records", "3205") or die(mysql_error()); 
mysql_select_db('store_records', $conn) or die(mysql_error()); 

$result = mysql_query("SELECT * FROM $table"); 

while($row = mysql_fetch_array($result)) 
{ 
$id=$row['transaction']; 
$date=$row['date']; 
$time=$row['time']; 
$paid=$row['payment']; 
$total=$row['total']; 
echo '<style type="text/css"> 
<!-- 
.list { 
font-family: Georgia, "Times New Roman", Times, serif; 
font-size: 12px; 
color: #000; 
padding: 2px; 
border: 2px solid #009; 
} 
.view { 
width: 100px; 
} 
--> 
</style> 
<div class="list"> 
<p><span style="color: #900">Transaction #</span>'.$id.' 
<span style="color: #900">Date:</span>'.$date.' 
<span style="color: #900">Time:</span>'.$time.'<span style="color: #900"> 
Paid By:</span>'.$paid.' <span style="color: #900">Total:</span>' 
.number_format($total, 2).' 
<form name="form1" method="post" action="find.php"> 
<label> 
<input type="submit" name="view" id="view" value="'.$id.'"> 
</label> 
</form> 
</p> 
</div> 
<p></p>'; 
} 
} 
//view transaction after viewing by month 
if (isset($_POST['view'])){ 


$conn = mysql_connect("localhost", "mss_records", "3205") or die(mysql_error()); 
mysql_select_db('store_records', $conn) or die(mysql_error()); 

$table = $_SESSION['table']; 
echo "this is the number ".$_POST['view']; 
$post=$_POST['view']; 
echo "this is the post ".$post; 
$result = mysql_query("SELECT * FROM $table WHERE transaction = '$post'") 
or die(mysql_error()); 

while($row = mysql_fetch_array($result)) 
{  
$items=$row['transaction']; 
} 
echo $items; 
} 
?> 

после того, как пользователь проходит через первый выбор и на втором окне выход есть .. .

this is the number 46this is the $post 4646 
+0

считают, сделав [SSCCE] (http://sscce.org/), чтобы мы могли более четко найти ваш Ι ошибка – Jon

+0

не думаю, что это связано с дублированием $ post, как вы говорите. Я думаю, что последние echo $ items; оператор печатает 46, таким образом вы получаете 4646, когда скрипт завершается. Попробуйте прокомментировать последнее эхо в вашем скрипте. – Andreas

ответ

1

Ваш q uery - mysql_query("SELECT * FROM $table WHERE transaction = '$post'"). Поэтому значение $items=$row['transaction']; также будет 46. Когда вы повторяете все без разрывов строк, он разбивает все вместе.

POST не дублирует ничего, вы просто эхом отдаете $items непосредственно после него.

Попробуйте это:

$table = $_SESSION['table']; 
    echo "this is the number ".$_POST['view']."<br /> \n"; 
    $post=$_POST['view']; 
    echo "this is the post ".$post."<br /> \n"; 
    $result = mysql_query("SELECT * FROM $table WHERE transaction = '$post'") 
    or die(mysql_error()); 

    while($row = mysql_fetch_array($result)) 
    {  
    $items=$row['transaction']; 
    } 
    echo $items; 
    } 
+1

OMG ... я должен спать ... вы очень правы ... у меня неправильная строка MYSQL в моем коде ... в предыдущем отборе 46 была выбрана ['transaction'] для просмотра и в этом выборе, что $ post должно быть ['items'] выбрано из-за $ post ... так что я просто вызывал его дважды .... WOW ... спасибо, ребята !!! Эхо меня просто пыталось выяснить, что происходит ... так что это ухудшилось без разрыва строки ... lol – dave

Смежные вопросы