Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] zapisywanie ustawien
Forum PHP.pl > Forum > Przedszkole
kosmic
witam ponownie...

a wiec, zrobiłem sobie tak jakby usawienia w mojej galeri, no i teraz chce zrobic tak, ze mam w bazie tabele, która edzie to przechowywac... no ale chodzi o to e za kazdym razem po prostu ma zapisywac ciagle na tym samym rekordzie....

wiec jak to zrobic questionmark.gif czy jak bede pobierał dane z bazy wedle id, i potem wykonam zapis wedlłóg tego id to bedzie wlsnie tak działac questionmark.gif

aha, no i zrobilem jakby pole wybory tak - nie... i chce zeby mi cos pokazywało od tego czy jest tak, czy nie..

ale jak mam to zapisywac w bazie questionmark.gif na jakiesj zasadzie questionmark.gif
Hazel
Nie znam Twojego problemu, wnioskuję, że opisywałeś go gdzieś wcześniej, ale jeśli dobrze Cię zrozumiałem, to właśnie tak będzie to działać, tylko że w każdym kolejnym zapytaniu (oprócz pierwszego) nie używasz konstrukcji INSERT, a UPDATE. Radzę poczytać o zapytaniach SQL, albo dokładniej opisz problem...

A do pola wyboru możesz zrobić sobie w bazie kolumnę typu ENUM i przechowywać wartości 0 lub 1, później jak chcesz wyświetlić według tego to odczytujesz z bazy zapytaniem typu SELECT i sprawdzasz, jaką wartość ma ta kolumna...

edit: aha, może rozumiem. No to w bazie możesz mieć pola: id, ustawienie1, ustawienie2, z czego id jest polem typu liczbowego, a ustawienia typu enum (chyba że chcesz jakoś inaczej, to nie ma znaczenia). No i jak zrobisz zapytanie o schemacie UPDATE tabela SET... WHERE id=(tutaj id), to będzie normalnie działać.
A do pobierania danych, bo o to też pytałeś, oczywiście SELECT.
potreb
i np stosujesz dla usawień: define
  1. <?php
  2. $sql = mysql_query("SELECT * FROM ".$prefix."settingst"); 
  3. while($s = mysql_fetch_array($sql))
  4. {
  5. define('$s['title']', '$s['def]);
  6. }
  7. ?>
kosmic
no dobra.....
ale jesli ja w bazie jeszcze nie mam rekordów, to moge zastosowac opcje UPDATE questionmark.gif?
nie wywali zadnego błedu questionmark.gif

czy musze najpier INSERT INTO...

i potem jesli juz jest jakis rekord...(ma byc tylko jeden)

to ma sie wykonywac UPDATE questionmark.gif
Lejto
UPDATE bez rekordu nie powinno wywalać błędu (lepiej sprawdź)
a jak ma być tylko 1 rekord to update
potreb
Jeżeli update to nie wywali, potraktuje to jak pusty rekord.
Możesz też zastosować array. Zapisujesz do jednego pola np 30 ustawień, bez tworzenia 30 kolumn
kosmic
hmmmm...

no wiec mam kilka ustawien w mojej galerii:

id, tytul, słowa, opis, logo, naglowek, email, pokaz_wyszukiwarke, pokaz_staty

no ogolenie jest tabela "config" któa zawiera te pola, no i zrobilem formularz z ktorego chce pobierac te ane, ale nie wiem jak to zapytanie ma do konca wyglądać, tak aby wszystkie naraz, jednym zapytaniem, zmienic...

przeciez nie bede do kadego pola z tabeli pisał osobnego zapytania UPDATE questionmark.gif?

co questionmark.gif prosze o pomoc questionmark.gif
Lion_87
To najpierw kasuj a potem jeszcze raz dodawaj
kosmic
Cytat(Lion_87 @ 28.12.2007, 18:08:43 ) *
To najpierw kasuj a potem jeszcze raz dodawaj


no to jest myśl...
ale jak usune (wyczyszcze) całą tabele to przy dodaniu zmieni sinr id. a to nie wskazane sad.gif

a druga sprawa jest taka ze mam tam logo.. no i podczas wejscia do ustawien chce pobrac dane z tabeli i je wyswietlic, i wtedy ewentulne zmienic... no i w tym przypadku nie bedzie wyswietlane pole logo, bo to jest typ plik...

troche zamotalem.. ale chyba wiecie co chodzi
phpion
A może zamiast korzystać z INSERT oraz UPDATE zastosuj coś pomiędzy czyli REPLACE?
http://dev.mysql.com/doc/refman/5.0/en/replace.html
kosmic
czy jesli w bazie mam jeden tekord to zadziała takie zapytanie questionmark.gif
Kod
$zm_tytul = mysql_query("UPDATE config SET tytul_gal='$tytul' WHERE id='1'");


czy musze najpierw pobrac dane i wtedy posłuzyc sie id pobranym wczesniej questionmark.gif
Hazel
Jeśli masz jeden rekord to możesz nawet WHERE olać bo i tak wiadomo do któego rekordu to się odnosi. Nie musisz nic wcześniej pobierać. A najlepiej sprawdzić samemu, nie przybiegać ze wszystkim na forum.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.