Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php] update wielu rekordów z wypełnieniem serią, coś na zasadzie auto_increment
mpps
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


witam,
mam taką sytuację:
  1. id | link | position
  2. -----------------------
  3. 1 | link1 | 1
  4. 2 | link2 | 3
  5. 3 | link3 | 5
  6. 4 | link4 | 4
  7. 5 | link5 | 6
  8. 6 | link6 | 2

i kod:
  1. <?php
  2. $tot_posq = mysql_query("SELECT * FROM links WHERE position >= '$position'");
  3. $tot_cols = mysql_num_rows($tot_posq);
  4. while($rek = mysql_fetch_array($tot_posq)){
  5. if($i < $tot_cols){
  6. mysql_query("UPDATE links SET position = $position + $i WHERE position >= '$position'") or die(mysql_error());
  7. $i++;
  8. }
  9. }
  10. ?>


powyższy kod zwraca błąd:
  1. 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE position>='3'' at line 1'

a ja już nie wiem, jak mam zmodyfikować pętlę, żeby wykonywała poniższe:
potrzebuję zmienić pozycję któregoś z wpisów w bazie i chę, aby wszystkie pozostałe pozycje, które mają wyższą lub równą pozycję co zmieniana, ziększały swoją pozycję o 1, które będzie dodawane do zmiennej $position.
czyli coś na zasadzie auto_increment z tym, że nie pomija wykorzystanych już id rekordów.

pozdrawiam
marcin
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: 22.08.2025 - 12:44