2013-04-13 2 views
1

Я немного PHP-код, который печатает строки данных из таблицы торговли. каждая строка, какИзменить значение тега ввода на клик или альтернативный метод?

имя пользователя - предложение - обмен - дата - торговля

TRADE является ввод, и при нажатии делает базу данных соответствующих PHP проверяет и обновляет соответствующим образом.

если POST и т.д.

$idn=strip_tags($_POST['buy'])); 

$query1=$db->prepare("SELECT * FROM tradeauction WHERE id=:buyid"); 
$query1->execute(array(':buyid'=>$idn)); 

/// чеки и т.д ..

это является DIV, содержащий кнопки/вход TRADE: (я знаю, это, вероятно, очень длинный способ сделать он, но его старый код, и я просто пытаюсь обметать его и конвертировать весь сайт из MySQL в PDO.)

 <div class="buyrow left"> 
     <?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
    onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
onclick=\"this.value='$ct->id'; this.submit()\" type=\"submit\" value=\"Trade\" name=\"buy\">"; ?> &nbsp; 
     </div> 

    $ct->id 

, очевидно, идентификатор строки.

Изменения класса просто меняют цвет кнопки.

При нажатии в настоящее время он работает, но на короткое время отображает идентификатор пользователя. Я не хочу, чтобы это произошло. Я просто хочу, чтобы он просто говорил торговать все время. (и синий при зависании)

Как я могу сделать значение НЕ показываться при нажатии, но все же передать значение id через проверки PHP? или может кто-то предложить альтернативный, более простой способ достичь этого?

редактировать: для каждого идентификатора (строки) в tradeauctions, он будет печатать в HTML -

<div id="cashtrades"> 
    <div class="trrow left"> <?php echo "<a href=profile.php?viewuser=$ct->username >$ct->username</a>"?></div> 
    <div class="prrow left"><?PHP echo"$showname"; ?></div> 
    <div class="ofrow left"><?PHP echo"$symbolcheck".makecomma($ct->item_amount)." $itemcheck"; ?> </div> 
    <div class="exrow left"><?PHP echo"$exsymcheck".makecomma($ct->exchange_amount)." $exitemcheck"; ?></div> 
    <div class="darow left"><?PHP echo"$ct->datepost"; ?></div> 
    <div class="buyrow left"><?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
      onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
      onclick=\"this.value='$ct->id'; this.submit()\" type=\"submit\" value=\"Trade\" name=\"buy\">";?>&nbsp;</div> 
    </div> 
+0

Где id вашего пользователя echo'd в html, я не вижу его в вашем коде? –

+0

нет идентификатора пользователя. $ ct-> id - это идентификатор строки, содержащей данные о сделке в базе данных. – user1953045

+1

Хорошо, я понимаю. Можете ли вы написать функцию javascript, чтобы вместо этого ввести значение скрытого элемента ввода и использовать его в своем php-коде вместо ввода, который вы обновляете? –

ответ

1

Взгляните на JQuery. Вы обнаружите, что это изменит ваше взаимодействие с javascript. Если вы не знаете, что все {}() {()} означает поиск Дугласа Крокфорда и посмотреть его видео.

указано.

<div class="buyrow left"><?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
     onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
     onclick=\"this.value='$ct->id'; this.submit()\" type=\"submit\" value=\"Trade\" name=\"buy\">";?>&nbsp;</div> 

попробовать

<div class="buyrow left"> 
// this is a new hidden input with the buy id 
<input type=hidden name=buy id=buyinput value=<?php echo $ct->id ?> > 

//onclick Submit 
<?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
     onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
     onclick=\"this.submit()\" type=\"submit\" value=\"Trade\" name=\"anotherbuy\">";?>&nbsp;</div> 

Это очень трудно читать этот код, и я думаю, что вы должны сделать это по-другому, но, Что выше должно решить вашу проблему.

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