Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Edycja rekordów w tabali mysql wyszukanych wczesniej rekordów, PHP MYSQL
leo33
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.06.2012

Ostrzeżenie: (0%)
-----


Potrzebuję edytowac wyszukane wcześniej rekordy w bazie danych - jednego pola wszystkich wyszukanych.

Tutaj mam formularz po którym szukam rekordów do zmiany:
Kod
<? include('menu_promocje_com.php'); ?>

<b>WYSZUKIWARKA PRODUKTU</b><br><br>

<form action="doznajdz_promocje_com.php" method="post">
Data od (>=):<br />
<input type="text" name="data_od" /><br />
Data do (<=):<br />
<input type="text" name="data_do" /><br />
Kwota od (>=):<br />
<input type="text" name="kwota_od" /><br />
Kwota do (<):<br />
<input type="text" name="kwota_do" /><br />

<input type="submit" value="szukaj" />
</form>

</center>
</html>



Tutaj mi pokazuje wszystkie wyszukane rekordy do zmiany i w polu promocja dodaję tekst który chcę aby pojawił się w jednym rekordzie tabeli we wszystkich wyszukanych danych.

Kod
<? include('menu_promocje_com.php');


mysql_select_db("nazwa_bazy");

$data_od = $_POST['data_od'];
$data_do = $_POST['data_do'];
$kwota_od = $_POST['kwota_od'];
$kwota_do = $_POST['kwota_do'];

$query = "select * from orders where (order_date >= '$data_od' and order_date <= '$data_do' and order_sum >= '$kwota_od' and order_sum < '$kwota_do') order by order_date asc";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
    
print "<p>Ilo¶ć znalezionych klientów do promocji: ".$num_results."</p>";
        print ("<font size=2 color=yellow>Nr zam.| Nr Kl. | Imię | Nazwisko | Data zam. | Warto¶ć zam. | Notka | </font><BR>");

for ($i=0; $i <$num_results; $i++)  {
        $row = mysql_fetch_array($result);
        
        print ("<font size=2>| ");
        print stripslashes($row["order_id"]);
        print (" | ");
        print stripslashes($row["user_id"]);
        print (" | ");
        print stripslashes($row["bill_firstname"]);
        print (" | ");
        print stripslashes($row["bill_lastname"]);
        print (" | ");
        print stripslashes($row["order_date"]);
        print (" | ");
        print stripslashes($row["order_sum"]);
        print (" zł | ");
        print stripslashes($row["notes_pub"]);
        print " |</font></font><br>";

}
?>
<hr width="75%" align="CENTER" size="2" color="white">

<form action="promocja_dodana_com.php" method="post">
Tekst promocji dla wybranych wyżej klientów:<br />
<input type="text" name="promocja" size="100" /><br />
<input type="submit" value="DODAJ PROMOCJE" />
</form>

</center>
</html>



I tutaj mam problem ponieważ nie wiem jaki kod umieścić, aby wszystki wyszukanym rekordom w polu notes_pub='$promocja' wpisało tekst mojej promocji.
Bardzo proszę o podpowiedzi. Ja obecnie mam tak i to nie działa:

Kod
<? include('menu_promocje_com.php');

mysql_select_db("nazwa_bazy");

$promocja = $_POST['promocja'];

$query = "select * from orders where (order_date >= '$data_od' and order_date <= '$data_do' and order_sum >= '$kwota_od' and order_sum < '$kwota_do') order by order_date asc";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);

for ($i=0; $i <$num_results; $i++)  {

$row = mysql_fetch_array($result);

$query2="update orders set notes_pub='$promocja' WHERE order_id='$row['order_id']'";
}
echo 'Promocja została dopisana';


?>

<hr width="75%" align="CENTER" size="2" color="white">

</center>
</html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
radziopoke
post
Post #2





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

Ostrzeżenie: (0%)
-----


nie wiem czy nie prościej było by w update wcisnąć taki sam warunek jak masz w select
czyli wyglądało by to tak:
  1. $query2="update orders set notes_pub='$promocja' where (order_date >= '$data_od' and order_date <= '$data_do' and order_sum >= '$kwota_od' and order_sum < '$kwota_do')";


Ten post edytował radziopoke 19.06.2012, 14:38:48
Go to the top of the page
+Quote Post
leo33
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.06.2012

Ostrzeżenie: (0%)
-----


Dzięki za podpowiedź masz rację, natomiast jest jeden problem w ostatnim pliku nie pamięta mi parametrów z formularza z drugiego pliku czyli

Kod
$data_od = $_POST['data_od'];
$data_do = $_POST['data_do'];
$kwota_od = $_POST['kwota_od'];
$kwota_do = $_POST['kwota_do'];


pamięta tylko

Kod
$promocja = $_POST['promocja'];


hm ?

Czyli ostatni plik zmieniłem na :


Kod
<? include('menu_promocje_com.php');

mysql_select_db("baza1258_s_kont");

$data_od = $_POST['data_od'];
$data_do = $_POST['data_do'];
$kwota_od = $_POST['kwota_od'];
$kwota_do = $_POST['kwota_do'];
$promocja = $_POST['promocja'];

$query2="update orders set notes_pub='$promocja' where (order_date >= '$data_od' and order_date <= '$data_do' and order_sum >= '$kwota_od' and order_sum < '$kwota_do')";
echo 'Promocja została dopisana';


?>

<hr width="75%" align="CENTER" size="2" color="white">

</center>
</html>


Ale nie działa
Go to the top of the page
+Quote Post
lukaskolista
post
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


  1. $query = "select * from orders where (order_date >= '$data_od' and order_date <= '$data_do' and order_sum >= '$kwota_od' and order_sum < '$kwota_do') order by order_date asc";
daj adres stronki, to Ci ja rozloze. Polecam zapoznac sie z funkcja mysql_real_escape_string.
Go to the top of the page
+Quote Post
leo33
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.06.2012

Ostrzeżenie: (0%)
-----


niestety nie mogę podać adresu stronki

wszystko jest jednak tak jak napisałem pierwszy kod to plik nr 1 który jest formularzem
plik nr 2 który odczytuje dane z tabeli względem wypełnionego formularza, na dole w tym pliku jest kolejny formularz w którym wpisujemy tekst promocji

plik nr 3 to ten w którym następuje edycja pola notes_pub tekstem promocji we wszystkich wyszukanych zamówieniach ID


nie wiem jak to zrobić zapętliłem się, chyba że w pliku nr 2 ponownie w formularzu podać dane z pliku nr 1 dodatkowo
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:59