PHP Select újratöltő nem működik
2015-02-03T15:15:51+01:00
2015-02-03T16:49:13+01:00
2022-08-09T09:40:31+02:00
Lipek71
Az ország megye várost próbáltam átalakítani a saját szükségleteimre, de nem kérdezi le az adatokat. Egszerűen nem találom hol hozza vissza az adatokat és mit rontok el, hiába állítottam be a fájlt, hogy ide adja vissza az eredményt meg a metódust, el se jut odáig, hogy kilistázza.
Próbáltam megoldást találni a korábbi témákban, de nem találtam.
Meg tudja mondani valaki, hogy mit rontok el. Nem akarok (nem tudok) se js-t  se ajax-ot használni.
Előre is köszönöm a segítséget.
Lipek

<?php
//include('../init.php');

// $db_serv="localhost";
// $db_user="x";
// $db_pass="x";
// $database="x";
// $connect = mysql_connect($db_serv, $db_user, $db_pass);
// mysql_select_db( $database) or die ("Nem lehet megnyitni a köv. adatbázist: $database" .mysql_error() );

$connect = new mysqli("localhost", "root", "", "prevencio") or die (print "HIBA!".mysql_error());
mysqli_query($connect,"SET NAMES utf8");

//mysql_query('set names cp1250');
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Új lap - 1</title>
</head>

<body>
<b>Újratöltős</b><br>
<form action="teszt3.php" method="get"> 
<table border="0" >
<tr>
<td>Ország:</td>
<td>
<select name="orszag" id="orszag" size="1" onchange="this.form.submit()" style="width:200px">
<option value="">--- Kérem válasszon --- </option>
<?
if (isset($_GET['orszag']))
{
$orsz=$_GET['orszag'];
}
else
{
$orsz=0;
}

$sql="SELECT * FROM biztosito WHERE aktiv=1 ORDER BY kod1";
$parancs = mysqli_query($connect,$sql);
while ($sor = mysqli_fetch_array($parancs))
{
echo '<option value="'.$sor[0].'" '.(($orsz==$sor[0])?"selected":"").'>'.$sor[1]."</option>\n";
};
mysqli_free_result($parancs);

?>
</select>
<input type="submit" name="varos" value="Megye keresés">
</td>
</tr>
Mutasd a teljes hozzászólást!
Akkor az első szelekt kiválasztásakor küld el a kiválasztott option értékét/indexét (GET vagy POST adatként) a szerver felé és újratöltéskor annak adj selected értéket és az fog beállni...
Mutasd a teljes hozzászólást!

  • Ezerszer feltett kérdés és a hasonló kérdésekre ezerszer belinkelt MEGOLDÁS-CSOMAG...
    Ja és Ucsitca...Ucsitca...Ucsitca, ahogy LENIN-PAJTÁS, már vagy 100 éve elmondta...
    És a hibakeresési technika megtanulása és alkalmazása sem árt a forráskód gomb használata mellet!...
    És NEM MEGSÉRTŐDNI, hanem TANULNI (Ucsitca)...
    Mutasd a teljes hozzászólást!
  • Abból a megoldáscsomagból próbáltam, de nem sikerült, próbáltam okosodni a Új lap - 1 oldal forrásának böngészéséből a forráskódopció megnyomása után, sajno az se sikerült.
    Megsértődni nem szoktam (na jó, de most nem:).
    Üdv
    Lipek
    Mutasd a teljes hozzászólást!
  • Mi nem sikerült?
    Letölteni vagy a letöltött kódot kicsomagolni vagy a kódba a saját sql-hozzáférést beállítani vagy a táblákat feltölteni vagy a localhost beállítása nem jó?...
    Mutasd a teljes hozzászólást!
  • Egy select-et fel tudok tölteni, gondolom nem túl szépen, de működik. Ez a verzió megy, lekérdezi az mysql adatbázist, tehát a csatlakozás a lekérdezés és a feltöltés is, de mindig újratölti és nem jegyzi meg a választást. Az a rész nem működik amikor az alább lépésnél átírom a letöltött verzióra, persze a saját adatbáziselérési adataimmal.
    Lipek

    <?php
    //include('../init.php');

    // $db_serv="localhost";
    // $db_user="x";
    // $db_pass="x";
    // $database="x";
    // $connect = mysql_connect($db_serv, $db_user, $db_pass);
    // mysql_select_db( $database) or die ("Nem lehet megnyitni a köv. adatbázist: $database" .mysql_error() );

    $connect = new mysqli("localhost", "root", "", "prevencio") or die (print "HIBA!".mysql_error());
    mysqli_query($connect,"SET NAMES utf8");

    //mysql_query('set names cp1250');
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    <title>Új lap - 1</title>
    </head>

    <body>
    <b>Újratöltős</b><br>
    <form action="teszt3.php" method="get">
    <table border="0" >
    <tr>
    <td>Ország:</td>
    <td>
    <select name="orszag" id="orszag" size="1" onchange="this.form.submit()" style="width:200px">
    <option value="">--- Kérem válasszon --- </option>
    <?php
    //if (isset($_GET['orszag']))
    // {
    // $orsz=$_GET['orszag'];
    // }
    // else
    // {
    // $orsz=0;
    // }
    //
    $sql="SELECT * FROM biztosito WHERE aktiv=1 ORDER BY kod1";
    $parancs = mysqli_query($connect,$sql);
    //while ($sor = mysqli_fetch_array($parancs))
    // {
    // echo '<option value="'.$sor[0].'" '.(($orsz==$sor[0])?"selected":"").'>'.$sor[1]."</option>\n";
    // };
    //mysqli_free_result($parancs);

    while ($sor = mysqli_fetch_array($parancs))
    {
    ?>
    <option><?= $sor["kod1"]; ?></option>
    <?php
    }
    mysqli_close($connect);
    ?>

    </select>
    <input type="submit" name="varos" value="Megye keresés">
    </td>
    </tr>
    Mutasd a teljes hozzászólást!
  • Forráskód gomb!!!!!!!!!!!!!!
    de mindig újratölti és nem jegyzi meg a választást.

    Ha azt akarod, hogy egy adott választás megmaradjon és az oldal ne töltődjön újra akkor az AJAX-ost használd...
    Mutasd a teljes hozzászólást!
  • Köszönöm, de az újratöltős program számomra pont arról szólt, hogy visszatölti a választást és abból a selectből egy következő select az újratöltés után feltölti a megfelelő adatokat, mindezt ajax és js nélkül, még azon gondolkoztam, hogy tömben tárolom, de sajnos a probléma ugyanaz újratöltés nélkül nem veszi fel az értékeket a formban a változó, ha jól okoskodtam.
    Most elindult, egy-két szépséghiba van, de úgy tűnik egy <? helyett <?php nyitással volt a probléma.
    Üdv
    Lipek
    Mutasd a teljes hozzászólást!
  • Akkor az első szelekt kiválasztásakor küld el a kiválasztott option értékét/indexét (GET vagy POST adatként) a szerver felé és újratöltéskor annak adj selected értéket és az fog beállni...
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd