Autor Zpráva
anonymni
Profil *
Dobrý deň,

riešim takúto situáciu s odosielaním formulára.

Mám 4 selecty označné rôznym name.

Do MySQL potrebujem dostať do jedného poľa hodnoty: select1.select2.select3.select4

Tie selecty sú v podstate čísla, čiže tvar v poli by mal byť: 1.2.3.4

Ako to urobiť?

Ďakujem
-Vosa-
Profil *
A v čem je problém? zapsat všechny ty hodnoty do jedné proměnné a oddělit je tečkou? Nebo je problém vlsatní zápis do databáze?
1.)
<?php
$zapis = $_POST['select1'].".".$_POST['select2'].".".$_POST['select3'].".".$_POST['select4'];
?>
2.) Připojení a zápis do databáze se pak řeší zde: Databáze na webu .
Taps
Profil
anonymni:
třeba takto
<?
$s1=$_POST['select1'];
$s2=$_POST['select2'];
$s3=$_POST['select3'];
echo $s1.'.'$s2.'.'.$s3;
?>
peta
Profil
echo implode(" --- ",array($s1,$s2,$s3));
Tori
Profil
anonymni:
A potom budete pracovat jen s tím výsledným slepencem, anebo potřebuje např. vyhledávat i podle jednotlivých hodnot? V druhém případě by se to totiž mělo do DB ukládat jiným způsobem. (viz FAQ)
anonymni
Profil *
-Vosa-:
Presne toto som potreboval :)

Teraz mám ďalšiu otázku a to, v poli mám 1.2.3.4 a každé jedno číslo znamená ID v inej tabuľke.

Ako dosiahnem priradenie jednotlivého čísla k ID a vypísanie hodnoty priradenej k ID?
Jan Tvrdík
Profil
anonymni:
$s = '1.2.3.4';
$idcka = explode('.', $s);

$dotaz = mysql_query('
  SELECT *
  FROM `tabulka`
  WHERE `id` IN (' . implode(',', $idcka) . ')
');
Taps
Profil
anonymni:
Myslím si že tabulka není moc optimálně navržena viz Tori.
anonymni
Profil *
Jan Tvrdík:
Ďakujem, ale akosi mi to nefunguje. Vieš mi spraviť premennú $s ale aby ju ťahalo z mysql? A je viac tých premenných nie jedna.


Jan Tvrdík:
Viac premenných nie, ale myslím, že v premennej môže byť viacero hodnôt.
Keeehi
Profil
Špatný návrh tabulek!
Bez redesignu nemá moc smysl něco vymýšlet.
anonymni
Profil *
Keeehi:
Áno viem,... ale teraz prerábať celý kód? Pomohlo by nejaké riešenie :-/ Do budúcna budem vedieť.
Keeehi
Profil
anonymni:
ale teraz prerábať celý kód?
Ano, teď je ta nejlepší chvíle. Ještě dříve, než se ještě dříve rozroste. Aspoň si na to příště vzpomeneš dříve.
anonymni
Profil *
Keeehi:
No ono je ho už dosť práveže, a touto funkciou to chcem uzavrieť vieš? Viac sa k tomu nechcem vracať.
peta
Profil
anonymni:
Predelej to ted. Proste vytvoris tabulku, ktera bude obsahovat id z toho retezce a k nemu prirazene to druhe id. Nic vic.

Ano, jde to samozrejme udelat, jak chces. GROUP_CONCAT, SUBSTRING_INDEX.
http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat
http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_substring-index

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0