Jump to content
  • 0

Редактирование записи в базе данных


Elensar
 Share

Question

Recommended Posts

  • 0

мне надо отредактировать запись в базе, выбираю запись, отправляю на редактирование, тоесть выбранная строка (в которой 4 столбца) должна появлять в форме для редактирования, так вот при передаче в скрипт редактирования передаются только первые слова из каждого столбца, а у меня там текст в каждом

Link to comment
Share on other sites

  • 0

printf("<div class=DIV2><table width=893 align=left border=0 cellpadding=0 cellspacing=0 class=TAB>
<tr height=15>
<td align=center valign=middle class=tdr5 width=160>Фото</td>
<td align=center valign=middle class=tdr5 width=216>Адрес</td>
<td align=center valign=middle class=tdr5 width=405>Описание</td>
<td align=center valign=middle class=tdr5 width=97>Цена</td>
<td align=center valign=middle class=tdr5 width=19></td>
<td align=center valign=middle class=tdr6_1 width=19></td>
</tr>n");

$db=mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx",$db);
$result=mysql_query("SELECT*FROM $d",$db);

while ($myrow=mysql_fetch_row($result))
{
printf("<tr>

<td class=tdr4_1><a href= $d/%s target=_blank><img src=$d/%s width=155 height=100 border=0></a></td>
<td class=tdr5>%s</td>
<td class=tdr5>%s</td>
<td class=tdr5>%s</td>
<td class=tdr6_1 style=vertical-align:middle>
<form method=post action=delete.php>
<input type=hidden name=sel value=$d>
<input type=hidden name=del value=%s>
<input type=image src=/images/delete.jpg name=submit alt=удалить>
</form></td>
<td class=tdr6_1 style=vertical-align:middle>
<form method=post action=redact.php>
<input type=hidden name=sel value=$d>
<input type=hidden name=del value=%s>
<input type=hidden name=a value=%s>
<input type=hidden name=o value=%s>
<input type=hidden name=c value=%s>
<input type=image src=/images/redact.png name=submit alt=редактировать>
</form>
</td>
</tr>n",$myrow[0],$myrow[0],$myrow[1],$myrow[2],$myrow[3],$myrow[0],$myrow[0],$myrow[1],$myrow[2],$myrow[3]);
}
printf("
</table></div>n");
mysql_close($db);

через ж*** конечно, но как умею

Link to comment
Share on other sites

  • 0

Вот тебе код файла index.php, разбирайся(возможны синтактические ошибки))))

<?
//Конектимся
mysql_connect(localhost, 'user', 'pass');
//Выбираем БД
mysql_select_db('db');
//Получаем записи
$res = mysql_query("SELECT * FROM table ORDER BY id");
//Удаляем, если передана перем. del_id
if(isset($_GET['del_id'])){
mysql_query("DELETE * FROM table WHERE id='".$_GET['del_id']."'");
Header ("Location: index.php");
}
//Выводим записи
echo "<table>"
while($row = mysql_fetch_array($res)){
echo "<tr><td>".$row['name']."</td>";
echo "<td>".$row['pass']."</td>";
echo "<td>".$row['dmail']."</td>";
echo "<td><a href='index.php?del_id=".$row['id']."'>Удалить</a></td></tr>";
}
echo "</table>";
?>

Link to comment
Share on other sites

  • 0

printf("<div class=DIV2><table width=893 align=left border=0 cellpadding=0 cellspacing=0 class=TAB>
<tr height=15>
???
</tr>n");

Зачем функция форматированного вывода? Заменить на echo или print.

$db=mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx",$db);
$result=mysql_query("SELECT*FROM $d",$db);

можно было бы и отформатировать:

$db = mysql_connect("localhost", "xxx", "xxx");
mysql_select_db("xxx", $db);
$result = mysql_query("SELECT * FROM {$d}", $db);

<a href= $d/%s target=_blank>

пробел убрать, кавычки.

<img src=$d/%s width=155 height=100 border=0>

кавычки.

<td class=tdr6_1 style=vertical-align:middle>

кавычки.

<input type=hidden name=sel value=$d>

кавычки, экранирование: value="".str_replace('"', '"', $d).""

<input type=hidden name=del value=%s>

кавычки

</tr>n",$myrow[0],$myrow[0],$myrow[1],$myrow[2],$myrow[3],$myrow[0],$myrow[0],$myrow[1],$myrow[2],$myrow[3]);

Экранирование, экранирование, экранирование, экранирование, экранирование, экранирование, экранирование, экранирование.

Для значений вне значений свойств: ".str_replace('

Для значений внутри значений свойств: ".str_replace('"', '"', $myrow[2])."

и не забывай про форматирование кода!

Link to comment
Share on other sites

  • 0
С редактированием разобрался,тока фигня бывает иногда,было вернее 2 раза,когда отправлял на редактирование запись из середины таблицы удалились все записи которые выше(

где то слышал об этой проблеме, никто не сталкивался???

Link to comment
Share on other sites

  • 0

Зря вы тут так агрессивно реагируете, на самом деле есть задача, но я не программист, может и поставил слишком сложную сразу, но главное желание, а изучать по пунктам времени нет, стараюсь но невсегда получается, пишу как в учебниках написано

Link to comment
Share on other sites

  • 0
Зря вы тут так агрессивно реагируете

Если ты не заметил, я дал тебе развернутую доскональную рекомендацию по твоему коду, позволяющую избежать огромное количество косяков. Если не разобрался ? спрашивай.

На твой вопрос про ?иногда бывает? могу сказать только одно: в мире работают миллионы SQL серверов исолняющих огромное количество задачь, от которых зависит жизнь человка, и да, у них у всех есть один недостаток: Иногда, когда отправляешь на редактироание, они удаляют все записи из таблицы, которые выше. Не смешно ли?

Что можно тебе ответить без конкретного кода? Ну в общем ты сам вс? понял.

И да, я не вижу место где я агресивно реагирую.

Link to comment
Share on other sites

  • 0
Зря вы тут так агрессивно реагируете

Ну и козел ты

И да, я не вижу место где я агресивно реагирую.

За детальное объяснение спасибо, мало кто так помогает, ну а про козла - сам козел, я тебя не оскорблял

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy