Diskuze: Zkrácení kódu pomocí funkce pole před odesláním do DB
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
O polích jsi už někdy slyšel?
A nepoužívej funkce myslq_ , jsou nebezpečné. Místo toho se nauč PDO,
popř. mysqli
Slyšel. Snažil jsem se proměnné nahradit tímto, ale asi někde dělám chybu. Proto jako začátečník s tím trošku bojuji. Děkuji za případnou radu.
$data = array();
for($i = 0; $i <= 3; $i++) {
for($j = 0; $j <= 9; $j++) {
for($k = 1; $k <= 5; $k++) {
$key = "qA_{$i}{$j}_{$k}";
$data[$key] = $_SESSION[$key];
}
}
}
To máš pak i do 39, ne? Co nějak takhle?
$data = array();
for ($i = 1; $i <= 30; $i++)
{
for ($j = 1; $ <= 5; $j++)
{
$key = 'qA_' . str_pad($i, 2, '0', STR_PAD_LEFT) . '_' . $j;
$data[$key] = $_SESSION[$key];
}
}
Funkce str_pad
ti zajistí 01, 02, ...
Ono ti to pravděpodobně fungovat bude, ale mít tolik a takové sloupce v DB signalizuje špatný návrh. Když bys potřeboval nějakou otázku přidat nebo odebrat, budeš měnit strukturu tabulky a kvůli tomu i hromadu kódu.
Jak poté s těmito daty pracuješ? Jak vypadá nějaký SELECT?
Zobrazeno 5 zpráv z 5.