Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czy to zadziała?
brandon
post
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?
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: 23.08.2025 - 17:44