Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Problem ze zmienną
Forum PHP.pl > Forum > Przedszkole
mihipoznan
Mam pole typu select i drugie typu select. Chcę wyciągnąć z nich wartości.

  1. <select name="pierwszy" id="1" onChange="zamiana(this.value);" style="width: 150px;" <? (isset($_POST['typy'])) ? $_POST['typy'] : ''; ?>>
  2.  <option value="rodzaj"> Wybierz rodzaj..

Wysyłam to za pomocą formualarza na kolejną stronę gdzie
  1. <?php
  2. $typy = $_POST ['typy'];
  3. ?>

i wysyłam to do bazy.. problem z tym, żę do bazy nie dochodzi..

próbowałem przesłać dane z tego formularza za pomocą sesji :
  1. <option value="rodzaj" <? (isset($_SESSION['typy'])) ? $_SESSION['typy'] : ''; ?>> Wybierz rodzaj..

I odczytać ją na kolejnej stronie:
  1. <?
  2.  echo $_SESSION ['typy']
  3.  ?>

Ale nie wyświetliło danych. Jak przekazać dane z takiego selecta ?
phpion
Pokaż lepiej jaki kod HTML generuje Ci kod PHP bo obawiam się, że ten select nie jest poprawny winksmiley.jpg Ogólnie to powinieneś się do niego odwoływać poprzez $_POST['pierwszy'] (pierwszy = nam selecta).
mihipoznan
Select działa i są 2 ..patrz tongue.gif
Kod
<?php
session_start();
?>
<script type="text/javascript">
function zamiana(wybor)
{
var rodzaj = new Array ("wybierz rodzaj..");
var miesowieprz = new Array ("bader","biodrówka","boczek z/k","boczek b/k","głowy całe","głowy połówki","golonka b/k","kości","łopatka b/k","łopatka z/k","mięso drobne kl. I ","mięso drobne kl. II 50/50","mięso drobne kl. II 60/40","mięso drobne kl. II 70/30","mięso drobne kl. II 80/20","mięso drobne kl. II 90/10","mięso drobne kl. III","mięso drobne kl. IV","mięsa drobne z głów","mięsień czworogłowy","MOM","mózg","nerki","nogi","noski","ogonówka","ognony","ośrodki wieprzowe","ozory","pachwina","płuca","podgardle","polędwiczki","półtusze","półtusze E i U","półtusze O,P i maciory","półtusze R","przełyki","przepona","przody","przysadki","raciczki","sadło","schab b/k","schab drobny","schab z/k","serca","skórki","śledziona","słonina","szynka b/k","szynka z/k","tchawica","tłuszcz drobny miękki","tłuszcz drobny twardy","trzustka","uszy","wątroba","żerberka","żołądki","zrazowa dolna","zrazowa górna","żywiec");
var miesowol = new Array ("antrykot","ćwierci wołowe","ćwierćtusze B","ćwierćtusze D","ćwierćtusze J","flaki wołowe","goleń b/k","karkówka","łata","mięsa drobne kl. I","mięsa drobne kl. II","mięsa drobne kl. III","mięsa drobne kl. IV","MOM","mostek","móżdżek","nerki","ogony","ozory","penisy wołowe","płuca","polędwica","przełyki","przody odkostnione","przody wołowe","rostbef","serca","skóry","szponder","tchawica","udziec","uszy","wątroba","wymiona","zrazy odkostnione","zrazy wołowe","zrazowa dolna","zrazowa górna");
var oleje = new Array ("rzepakowy -> rafinowany","rzepakowy -> nierafinowany","słonecznikowy -> rafinowany","słonecznikowy -> nierafinowany","sojowy -> rafinowany","lniany ->rafinowany","lniany->nierafinowany","sojowy -> nierafinowany","inne ->");
var sypkie1 = new Array ("biały","przemysłowy"," rafinowany","trzcinowy");
var sypkie2 = new Array ("gryczana","jaglana"," jęczmienna","kukurydziana","manna");
var sypkie3 = new Array ("kukurydziana","pszenna","ziemniaczana","żytnia");
var sypkie4 = new Array ("jęczmienne","kukurydziane","owsiane","pszenne","żytnie");
var nawozy1 = new Array ("mocznik","saletra amonowa","saletrzak","siarczan amonowy");
var nawozy2 = new Array ("fosforan amonu","fosforan dwuamonu","mączki fosforytowe","mączki kostne","superfosfat");
var nawozy3 = new Array ("sół potasowa granulowana","wieloskładnikowe NPK");
var owies = new Array ("konsupmcyjny","paszowy","bezłuskowy-nagi");
var jeczmien = new Array ("konsupmcyjny","paszowy","browarny");
var rzepak = new Array ("jary","ozimy");
var pszenica = new Array ("konsumpcyjna","paszowa");
var kukurydza = new Array ("paszowa");
var soja = new Array ("ziarno");
var sruta = new Array ("słonecznikowa","rzepakowa","sojowa");
var otreby = new Array ("pszenne","żytnie");
var zyto = new Array ("konsumpcyjne","paszowe");
var tluszcze = new Array ("łój","olej rybi","smalec","tłuszcz utylizacyjny");
var nabial = new Array ("masło","mleko w proszku","jaja");
var estry = new Array ("estry metylowe");
if (wybor == "rodzaj") {
var dlugosc = rodzaj.length-1;
document.formularz.elements.drugi.options.length = rodzaj.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(rodzaj[i]);
document.formularz.drugi.options[i].value = rodzaj[i];
}
}
if (wybor == "miesowieprz") {
var dlugosc = miesowieprz.length-1;
document.formularz.elements.drugi.options.length = miesowieprz.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(miesowieprz[i]);
document.formularz.drugi.options[i].value = miesowieprz[i];
}
}
if (wybor == "miesowol") {
var dlugosc = miesowol.length-1;
document.formularz.elements.drugi.options.length = miesowol.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(miesowol[i]);
document.formularz.drugi.options[i].value = miesowol[i];
}
}
if (wybor == "oleje") {
var dlugosc = oleje.length-1;
document.formularz.elements.drugi.options.length = oleje.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(oleje[i]);
document.formularz.drugi.options[i].value = oleje[i];
}
}
if (wybor == "sypkie1") {
var dlugosc = sypkie1.length-1;
document.formularz.elements.drugi.options.length = sypkie1.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(sypkie1[i]);
document.formularz.drugi.options[i].value = sypkie1[i];
}
}
if (wybor == "sypkie2") {
var dlugosc = sypkie2.length-1;
document.formularz.elements.drugi.options.length = sypkie2.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(sypkie2[i]);
document.formularz.drugi.options[i].value = sypkie2[i];
}
}
if (wybor == "sypkie3") {
var dlugosc = sypkie3.length-1;
document.formularz.elements.drugi.options.length = sypkie3.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(sypkie3[i]);
document.formularz.drugi.options[i].value = sypkie3[i];
}
}
if (wybor == "sypkie4") {
var dlugosc = sypkie4.length-1;
document.formularz.elements.drugi.options.length = sypkie4.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(sypkie4[i]);
document.formularz.drugi.options[i].value = sypkie4[i];
}
}
if (wybor == "nawozy1") {
var dlugosc = nawozy1.length-1;
document.formularz.elements.drugi.options.length = nawozy1.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(nawozy1[i]);
document.formularz.drugi.options[i].value = nawozy1[i];
}
}
?>


Kod
if (wybor == "nawozy2") {
var dlugosc = nawozy2.length-1;
document.formularz.elements.drugi.options.length = nawozy2.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(nawozy2[i]);
document.formularz.drugi.options[i].value = nawozy2[i];
}
}
if (wybor == "nawozy3") {
var dlugosc = nawozy3.length-1;
document.formularz.elements.drugi.options.length = nawozy3.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(nawozy3[i]);
document.formularz.drugi.options[i].value = nawozy3[i];
}
}
if (wybor == "owies") {
var dlugosc = owies.length-1;
document.formularz.elements.drugi.options.length = owies.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(owies[i]);
document.formularz.drugi.options[i].value = owies[i];
}
}
if (wybor == "jeczmien") {
var dlugosc = jeczmien.length-1;
document.formularz.elements.drugi.options.length = jeczmien.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(jeczmien[i]);
document.formularz.drugi.options[i].value = jeczmien[i];
}
}
if (wybor == "rzepak") {
var dlugosc = rzepak.length-1;
document.formularz.elements.drugi.options.length = rzepak.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(rzepak[i]);
document.formularz.drugi.options[i].value = rzepak[i];
}
}
if (wybor == "pszenica") {
var dlugosc = pszenica.length-1;
document.formularz.elements.drugi.options.length = pszenica.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(pszenica[i]);
document.formularz.drugi.options[i].value = pszenica[i];
}
}
if (wybor == "kukurydza") {
var dlugosc = kukurydza.length-1;
document.formularz.elements.drugi.options.length = kukurydza.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(kukurydza[i]);
document.formularz.drugi.options[i].value = kukurydza[i];
}
}
if (wybor == "soja") {
var dlugosc = soja.length-1;
document.formularz.elements.drugi.options.length = soja.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(soja[i]);
document.formularz.drugi.options[i].value = soja[i];
}
}
if (wybor == "sruta") {
var dlugosc = sruta.length-1;
document.formularz.elements.drugi.options.length = sruta.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(sruta[i]);
document.formularz.drugi.options[i].value = sruta[i];
}
}
if (wybor == "otreby") {
var dlugosc = otreby.length-1;
document.formularz.elements.drugi.options.length = otreby.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(otreby[i]);
document.formularz.drugi.options[i].value = otreby[i];
}
}
if (wybor == "zyto") {
var dlugosc = zyto.length-1;
document.formularz.elements.drugi.options.length = zyto.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(zyto[i]);
document.formularz.drugi.options[i].value = zyto[i];
}
}
if (wybor == "tluszcze") {
var dlugosc = tluszcze.length-1;
document.formularz.elements.drugi.options.length = tluszcze.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(tluszcze[i]);
document.formularz.drugi.options[i].value = tluszcze[i];
}
}
if (wybor == "nabial") {
var dlugosc = nabial.length-1;
document.formularz.elements.drugi.options.length = nabial.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(nabial[i]);
document.formularz.drugi.options[i].value = nabial[i];
}
}
if (wybor == "estry") {
var dlugosc = estry.length-1;
document.formularz.elements.drugi.options.length = estry.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(estry[i]);
document.formularz.drugi.options[i].value = estry[i];
}
}
}
</script>
<body>
<select name="pierwszy" id="1" onChange="zamiana(this.value);" style="width: 150px;" <? (isset($_SESSION['typy'])) ? $_SESSION['typy'] : ''; ?>">
<option value="rodzaj" >  Wybierz rodzaj..
<option value="estry">Estry metylowe ->
<option value="jeczmien">Jęczmień ->
<option value="kukurydza">Kukurydza ->
<option value="miesowieprz">Mięso -> wieprzowina
<option value="miesowol">Mięso -> wołowina
<option value="nabial">Nabiał ->
<option value="nawozy1">Nawozy -> azotowe
<option value="nawozy2">Nawozy -> fosforowe
<option value="nawozy3">Nawozy -> potasowe
<option value="oleje">Oleje roslinne ->
<option value="otreby">Otręby ->
<option value="owies">Owies ->
<option value="pszenica">Pszenica ->
<option value="tluszcze">Tłuszcze zwierzęce ->
<option value="rzepak">Rzepak ->
<option value ="soja">Soja ->
<option value ="sruta">Śruta ->
<option value="sypkie1">Sypkie ->cukier
<option value="sypkie2">Sypkie -> kasza
<option value="sypkie3">Sypkie -> mąka
<option value="sypkie4">Sypkie -> płatki
<option value="zyto">Żyto ->
</select>
<select name="drugi" id="2" style="width: 180px;" value"<? if (isset($_POST['typy2'])){ echo $_POST['typy2']; }?>">
<option value="rodzaj">wybierz rodzaj...
</select>
</body>


Ale chyba to jest najważniejsze..
Kod
<select name="pierwszy" id="1" onChange="zamiana(this.value);" style="width: 150px;" <? (isset($_SESSION['typy'])) ? $_SESSION['typy'] : ''; ?>">
<option value="rodzaj" >  Wybierz rodzaj..
<option value="estry">Estry metylowe ->
<option value="jeczmien">Jęczmień ->
<option value="kukurydza">Kukurydza ->
<option value="miesowieprz">Mięso -> wieprzowina
<option value="miesowol">Mięso -> wołowina
<option value="nabial">Nabiał ->
<option value="nawozy1">Nawozy -> azotowe
<option value="nawozy2">Nawozy -> fosforowe
<option value="nawozy3">Nawozy -> potasowe
<option value="oleje">Oleje roslinne ->
<option value="otreby">Otręby ->
<option value="owies">Owies ->
<option value="pszenica">Pszenica ->
<option value="tluszcze">Tłuszcze zwierzęce ->
<option value="rzepak">Rzepak ->
<option value ="soja">Soja ->
<option value ="sruta">Śruta ->
<option value="sypkie1">Sypkie ->cukier
<option value="sypkie2">Sypkie -> kasza
<option value="sypkie3">Sypkie -> mąka
<option value="sypkie4">Sypkie -> płatki
<option value="zyto">Żyto ->
</select>
<select name="drugi" id="2" style="width: 180px;" value"<? if (isset($_POST['typy2'])){ echo $_POST['typy2']; }?>">
<option value="rodzaj">wybierz rodzaj...


Moze prościej..gdybyście mieli dwa pola:

[php]
<select name="pierwszy" id="1" onChange="zamiana(this.value);" style="width: 150px;">
<option value="otreby">Otręby ->
<option value="owies">Owies ->
</select>
<select name="drugi" id="2" style="width: 150px;">
<option value="rodzaj">Wybierz rodzaj..
<script type="text/javascript">
function zamiana(wybor)
{
var rodzaj = new Array ("wybierz rodzaj..");
if (wybor == "rodzaj") {
var dlugosc = rodzaj.length-1;
document.formularz.elements.drugi.options.length = rodzaj.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(rodzaj[i]);
document.formularz.drugi.options[i].value = rodzaj[i];
}
}
}
</script>

I jak byście z tego przekazali na inną www ?

Chciociaż jakaś wskazówka.. smile.gif smile.gif
marck
Trochę żeś to skomplikował. Czy ten javascript jest potrzebny? rozumiem że chyba dane pobierasz z bazy, a może walisz ręcznie(czemu?)? Jeśli chodzi o php (nie javascript) to zajmuje to o niebo mniej miejsca.

np:

  1. <?php
  2. include("conectlink.php") #wybranie bazy i logowanie do niej
  3.  
  4. echo "<form action ='jakasstrona2.php' method='post'>";
  5. echo "<select name='idselect'>";
  6. echo "<option value='' selected>Rozwin liste</option>";
  7.  
  8. $pyt = mysql_query("SELECT * FROM oleje, nawozy, itd ");
  9.  
  10. while($row= mysq_fetch_array($pyt)){
  11. $id = $row['id'];
  12. $nazwa = $row['nazwa'];
  13. $typ = $row['typ'];
  14.  
  15. echo "<option value='$id'>$nazwa - $typ</option>r\n";
  16. }
  17. echo "</select><input type='submit' value='ok'>";
  18. echo "</form>";
  19. ?>


Wystarczy tylko te twoje var-y mądrze w tabelkach ułożyć

A na jakasstrona2.php
  1. <?php
  2. $id = $_POST['idselect'];
  3. ?>

Na koniec dajesz ładne pytanko do bazy w stylu SELECT * WHERE id='$id' i tyle
Czy takie rozwiązanie nie jest prostsze?
mihipoznan
Ooo dzięki biggrin.gif Nie no robiłem tak bo z reguły listy rozwijane itp robi się w js. Ale po co pobierać kategorie z bazy danych ? Lepiej ? A z tego się nie da przekazać ? (Opiszę ten skrypt)

Kod
<select name="pierwszy" id="1" onChange="zamiana(this.value);" style="width: 150px;">
<option value="rodzaj">Wybierz rodzaj
</select>
//select pierwszy
<select name="drugi" id="2" style="width: 150px;">
<option value="rodzaj">Wybierz rodzaj..
//select drugi
<script type="text/javascript"> //skypt za pomocą odczytuję wartości wpisane
function zamiana(wybor)
{
var rodzaj = new Array ("wybierz rodzaj.."); // tu i są one w 2 selekcie.
if (wybor == "rodzaj") {
var dlugosc = rodzaj.length-1;
document.formularz.elements.drugi.options.length = rodzaj.length;
for (var i=0; i<= dlugosc; i++) {
document.formularz.drugi.options[i] = new Option(rodzaj[i]);
document.formularz.drugi.options[i].value = rodzaj[i];
}
}
}
</script>


hm ?


? biggrin.gif
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.