#php #mysql
#php #mysql
Вопрос:
Я пишу небольшой просмотрщик базы данных.. У меня есть ссылка внизу, как вы можете видеть, отправляющая идентификатор на другую страницу. Эта кнопка работает в любом другом браузере, кроме IE.
Есть идеи?
Если я нажимаю на нее в IE, она ничего не делает.
<?php
include_once('include/opendb.php');
$query = "SELECT id, rep, date, account, areacode, number, address1, address2, city, state, zip, fax, descmaker1, descmaker2, title, email, cvendor, cequipment, leaseexp1, leaseexp2, leaseexp3, leaseexp4, leaseexp5, leaseexp6, volume, notes FROM accounts";
$result = mysql_query($query);
$entrytotal = mysql_num_rows($result);
echo '<div id="entrytotal">' . $entrytotal . ' Total Accounts</div>';
while($row = mysql_fetch_row($result)){
$id = $row[0];
$rep = $row[1];
$date = $row[2];
$account = $row[3];
$areacode = $row[4];
$number = $row[5];
$address1 = $row[6];
$address2 = $row[7];
$city = $row[8];
$descmaker1 = $row[12];
$descmaker2 = $row[13];
$title = $row[14];
$email = $row[15];
$cvendor = $row[16];
$cequipment = $row[17];
$leaseexp1 = $row[18];
$leaseexp3 = $row[20];
$volume = $row[24];
echo '<tr>';
echo '<td width="120" align="middle"><font color="black"><b>' . $rep . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $date . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $account . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $address1 . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $city . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $descmaker1 . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $descmaker2 . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $title . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $cvendor . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $leaseexp1 . '</b></font></td>';
echo '<td width="120" align="middle"><font color="black"><b>' . $leaseexp3 . '</b></font></td>';
echo "<td width='120' align='middle'><a href='info.php?id=" . $id . "'><input style='font-family:Helvetica; width: 50px;' type='submit' value='Info'></a></td>";
echo '</tr>';
}
?>
Ответ №1:
Просто несколько быстрых заметок без тестирования, но:
- Вы можете просто оформить ссылку привязки, чтобы она выглядела как кнопка, не нужно помещать кнопку внутри тега привязки.
- Что касается предыдущего пункта, если вы просто пытаетесь перейти по ссылке на другую страницу, вам не нужен элемент ввода. Просто ссылка.
- Если вы действительно пытаетесь отправить форму, я не вижу никаких
<form>
тегов в вашем примере.
Комментарии:
1. Я бы удалил примечание о самозакрывающемся теге ввода. Если документ является HTML, то он действительно действителен.
2. @Kevin — я вижу, что вы правы, но продвижение правильного форматирования — хорошая вещь, имхо. Это может быть допустимый HTML, но это плохая практика (и недопустимый XHTML).
3. Это неплохая практика и она не является недопустимой. Это нормально, если вы хотите продвигать HTML с помощью сериализации XML, но вы не можете изменять валидность, не зная, использует ли пользователь HTML или XHTML.
4. ну, это, безусловно, 1 мнение. Если у вас когда-либо была потребность в совместимости с XHTML, почему бы не проявить инициативу, когда дело просто сводится к добавлению закрывающей косой черты? Это, безусловно, неплохое предложение и не заслуживает понижения.
5. Во-первых, я не голосовал против вас. Я поддержал, а затем удалил голосование на основе вашего ответа мне. Во-вторых, валидность по стандарту — это не мнение. Вы не можете сказать кому-либо, использующему HTML, что это недопустимо, потому что вы хотите, чтобы они использовали XHTML. Вы не можете сказать, что она недействительна, в первую очередь, потому что никогда не было указано, какому стандарту они следовали! Давайте не будем принимать это так близко к сердцу 😉
Ответ №2:
Я предлагаю вам сделать это вместо:
<input style='font-family:Helvetica; width: 50px;' type='button' value='Info' onclick="location.href='info.php?id=<?php echo $id; ?>'">
Редактировать
Примечание: вам нужно удалить тег link, окружающий кнопку.
Комментарии:
1. То, что у него есть, не является недопустимым HTML, хотя ваши предложения являются действительными.
2. @kevin: в каких ситуациях вы хотели бы обернуть кнопку тегом привязки? Мне хотелось бы знать
3. @boug, даже если это плохое использование, это все равно не недопустимый HTML
4. @boug, но ты сказал,
What you have is not valid html.
отсюда и мой первоначальный комментарий 🙂5. @kevin: Думаю, я неправильно использовал слово
valid
:). Спасибо, что указали на это
Ответ №3:
На самом деле вам не нужна кнопка без формы. вы могли бы просто использовать ссылку.
echo "<td width='120' align='middle'>
<a href='info.php?id=" . $id . "'>Info</a>
</td>";
и если вы хотите придать ей стиль, просто используйте интервал, подобный этому
<td width='120' align='middle'>
<a href='info.php?id=" . $id . "'>
<span style='font-family:Helvetica; width: 50px; border:1px solid #000; padding:5px; background-color:#ccc;'>Info</span>
</a>
</td>
Комментарии:
1. ваш был самым простым в реализации, и ваша разметка была правильной. Отличная работа и спасибо!
Ответ №4:
Другие ответы верны.
Вот немного HTML, чтобы помочь:
<form method="post"><!-- or method="get" if you're not changing anything -->
<!-- other hidden input data here -->
<input type="hidden" name="id" value="<?php echo $id; ?>">
<input type="submit" value="Info">
</form>