Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapisz do mysql przez php
Forum PHP.pl > Forum > PHP
stroju
normalnie nadpisywać dane można za pmocą update jednak ja potrzebuje jakiegos parametru który bedzie nadpisywac informacje w pionie a nie w jednym wierszu. dokladnie chodzi mi o tabele z ustawieniami systemu i sa dwie kolumny 'nazwa' i 'wartosc'. wie ktos jak mi pomuc i czy wogóle sie tak da zrobić?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
matipl
poleceniem UPDATE mozesz zaktualizowac jedno pole, wybiorcze jak i wszystkie na raz TYMI SAMYMI DANYMI. Wszystko zalezy od konstrukcji (czy jest dyrektywa WHERE).
Jesli wszystkie pola maja miec te same dane wystarczy
  1. UPDATE tabela SET nazwa='$nazwa', wartosc='$wartosc'


Jesli chcesz zaktualizowac cala tabele roznymi danymi, to najlepiej uzyj w php np. petli while/for/foreach
qbuz
Jeśli nie ustawisz w zapytaniu LIMIT 1 to nie będzie nadpisywać tylko w 1 wierszu, lecz we wszystkich zgodnych z warunkami w WHERE, tak więc nie rozumiem w czym twój problem?

Opisz dokładniej, najlepiej daj jakiś przykład. Może być nawet niepoprawny kod, ale żeby w jakiś sposób tłumaczył o co ci chodzi
stroju
mam tabele w bazie



i chcem aby w jednym zapytaniu zapisac wartości pkt_kom, pkt_art, pkt_news itd. chodzi mi o zapis ustawien systemu przez php!!!
vieri_pl
możesz to dodawać tak:

3;12;34 później funckją explode() to rozbić na części smile.gif
stroju
własnie nie chem tego w jednym polu!!! chodzi mi o pewnego rodzaju petle?? czy jest to możliwe?questionmark.gif? czy trzeba każde osobno zmieniać?questionmark.gif?
vieri_pl
Wydaje mi sie ze musisz zupdatowac naraz dwie tabele... I jest taka możliwość jeśli o to Ci chodzi...
crash
Nie da się naraz tego zapisać...
stroju
no nic poszukam innego rozwiazania!!! dokladniej mowiąc to chodzi mi to cos podobnego do phpbb!!! tam sa podobne ustawienia!!
crash
phpBB nie jest najoptymalniejszym skryptem jeśli chodzi o ilość zapytań SQL.
stroju
mozliwe ale jeśli chodzo o zapytania to mi ich ilość jest obojetna!!! aby skrypt był bezpieczny!!!
crash
No to:
  1. <?php
  2. $cfg = array(
  3.               'pkt_kom'  => X,
  4.               'pkt_art'  => Y,
  5.               'pkt_news' => Z
  6.             );
  7.             
  8. foreach( $cfg as $name => $value )
  9. {
  10.    mysql_query( 'UPDATE tabela SET wartosc = ' . $value . ' WHERE nazwa = ' . $name );
  11. }
  12. ?>
stroju
no to przy zapisie a przy odczycie jak zrobić aby to wrzucic to inputów?questionmark.gifquestionmark.gif?
crash
Pobierasz tak samo w pętli, albo zacznij korzystać z jakiegoś interfejsu, np. PEAR:biggrin.gifB i jego metody getAssoc().
stroju
tak samo czyli:
  1. <?php
  2. $cfg = array(
  3. 'pkt_kom',
  4. 'pkt_art',
  5. 'pkt_news'
  6. );
  7.  
  8. foreach($cfg as $name)
  9. {
  10.  $rez = mysql_query('select * from settings where nazwa='.$name);
  11. $r = mysql_fetch_array($rez);
  12.  
  13. }
  14.  
  15. //i tu dac echo
  16.  
  17. echo $r['pkt_kom'];//co da np. 15
  18.  
  19. echo $r['pkt_news'];//co da np. 30
  20.  
  21. ?>

dobrze?questionmark.gifquestionmark.gif?
crash
No nie do końca tak...

  1. <?php
  2. $cfg = array(
  3. 'pkt_kom',
  4. 'pkt_art',
  5. 'pkt_news'
  6. );
  7.  
  8. $data = mysql_query( 'SELECT nazwa, wartosc FROM tabela WHERE nazwa IN ( "' . implode( '", "', $cfg ) . '" )' );
  9. $cfg = array();
  10.  
  11. while( list( $name, $val ) = mysql_fetch_row( $data ) )
  12. {
  13.  $cfg[ $name ] = $val
  14. }
  15. ?>
stroju
troche to niewygodne to tabeli wrzucic. nie ma jakiejs lepsze metody?questionmark.gif?
Apo
Cytat
aby skrypt był bezpieczny!!!

No wkońcu bezpieczeństwo to podstawa
Your home page stroju ;]
stroju
jak nie widzisz to jest psnews czyli gotowy skryp!!!!!!!!!! kup sobie lepiej oku;ary ja w nim nie grzeie wiec nie do mnie takie uwagi tylko na www.imps.pl
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.