Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Aktualizacja zatwierdzonej pozycji, Spory problem :/
Max Damage
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Mam w bazie w tabeli 10 kolumn. Kiedy ktoś chce coś zmienić dodaje nowy wiersz który zawiera jego propozycję. Znajduję takie pozycję poprzez ich nazwę bo właśnie one się powtarzają. Nastepnie wyświetlam to co jest w bazie oraz to co jest propozycją. I teraz pytanie jak zrobic abym po zatwierdzeniu miał zaktualizowaną te daną a propozycja aby mi się usunęła?
Z bazy wyświetlam to w ten sposób:
  1. <?php
  2. $wynik=mysql_query("SELECT * FROM woz WHERE nazwa='$marka'") or die(mysql_error());
  3. echo "<table border='1' cellpadding='5'>";
  4. while($wiersz=mysql_fetch_array($wynik)) {
  5. $i=1;
  6. echo "<tr>";
  7.  while($i<10) {
  8. if(($wiersz[$i])==NULL){
  9. echo "<td width='20'></td>";
  10. $i++;
  11. }
  12. else { 
  13.  echo "<td width='20'>".$wiersz[$i]."</td>";
  14.  $i++;
  15. }
  16. }
  17. echo "<td width='20'><a href='akceptuj.php?nazwa=".$wiersz['nazwa'].">zatwierdz<a></td>";
  18. }
  19. echo "</tr>";
  20. echo "</table>";
  21. ?>

Cały problem polaga na tym, że nie wiem który wiersz jest tą propozycją uzytkownika, więc nie mogę tego dopisać to linka, a poza tym przy instrukcji UPDATE muszę mieć nazwę kolumny tej pozycji.
No i jeszcze jest problem jak po zatwierdzeniu usunąć to co było propozycją, skoro moge mieć np. jeszcze 10 innych propozycji.
A i jeszcze jedno: w wierszu który dodał uzytkownik są tylko dwa wpisy, to co on zaproponował oraz to czy artykuł został opublikowany.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nowotny
post
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Załóżmy że masz taką tabelę:
Kod
|ID |marka  |kolor     |stan
----------------------------
|1  |mazda  |niebieski |1
|2  |mazda  |szary     |0
|3  |mazda  |czarny    |0
|4  |mazda  |zielony   |0


Teraz wybierasz sobie wszystkie "mazdy" i wyświetlasz:

  1. <?php
  2. $wynik=mysql_query('SELECT * FROM woz WHERE marka="mazda" ORDER BY stan DESC') or die(mysql_error());
  3. while($wiersz=mysql_fetch_array($wynik)) {
  4. if($wiersz['stan']=='1'){
  5. $oryg_id=$wiersz['id'];
  6. echo $wiersz['id'].'. '."\t".$wiersz['marka']."\t".$wiersz['kolor']."\t".$wiersz['stan']."r\n";
  7. }
  8. else{
  9. echo $wiersz['id'].'. '."\t".$wiersz['marka']."\t".$wiersz['kolor']."\t".$wiersz['stan'].' <a href="edit.php?id='.$wiersz['id'].'&oryg_id='.$oryg_id.'">Ustaw jako oryginal</a>'."r\n";
  10. }
  11. }
  12. ?>


Plik edit.php:
  1. <?php
  2. $oryg_id=$_GET['oryg_id'];
  3. $upd_id=$_GET['id'];
  4. mysql_query('UPDATE woz SET stan="1" WHERE id='.$upd_id) or die(mysql_error());
  5. mysql_query('DELETE FROM woz WHERE id='.$oryg_id) or die(mysql_error());
  6. ?>


Taki generalnie byłby zarys... pewnie dało by się zrobić bardziej elegancko ale chodzi mi tu o zasadę...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 13:58