![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Zaczynam kombinować z klasami (ciekawie to wygląda) i zbudowałem sobie takie maleństwo do wstawiania rekordu do tablicy (rzecz jasna jest częścią klasy):
[php:1:90532def57]<?php function wstaw($tabela, $wartosci) // wstawia nowe pole do tabeli ($tabela). $wartosci musi być tablicą o ilości parametrów // równej ilości pól w tabeli. { global $baza; $lista = mysql_list_fields($baza, $tabela); $ilosc = mysql_numfields($lista); $max = $ilosc - 1; if (!is_array($wartosci)) { return -1; exit;} else { $liczba = count($wartosci); if ($liczba <> $ilosc) { return -2; exit;} else { for ($w = 0; $w <= $ilosc-1; $w++) { $nazwy .= mysql_fieldname($lista,$w); $wart .= $wartosci[$w]; if ($w <> $ilosc-1) { $nazwy .= ", "; $wart .= ", ";}; } $sql = "INSERT INTO $tabela ($nazwy) VALUES ($wart)"; $result = mysql_query($sql) or die ('Błąd podczas wykonywania zapytania [funkcja "wstaw"].'); return 0; }; }; } ?>[/php:1:90532def57] Działa, wstawia tak, jak trzeba. Mam jednak dwa pytania: 1. Jak sądzicie, czy rozwiązanie polegające na wydłubywaniu nazw pól z bazy jest ergonomiczne? Może lepiej byłoby ręcznie podawać pola? 2. Zastosowanie for zamiast foreach jest dobrym rozwiązaniem? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:44 |