Tehtävä on hakea ja esittää tietokannasta ensimmäinen rivi, jossa cust = xyz. Tarvitaan painikkeet, joilla esitetään seuraava (jos on) tai edellinen (jos on). Eli selataan asiakkaan tilauksia.
Onko tähän mitään yksinkertaista ratkaisua? Onko ainoa keino lukea ensimmäisen ID muuttujaan $id ja hakea sen jälkeen ehdolla ID < $id tai ID > $id ja taas päivittää muuttuja?
PHP query ja next
11
1091
Vastaukset
- Anonyymi
Nämä PHP, MySQL, HTML, CSS ovat kaikki niin naimisissa keskenään, että sellaisen toimivan esimerkin antaminen on jo niin monivaiheinen juttu, ettei mitään kokonaisuutta voi tarjota. Ja näin ollen kysyjän tulisi tuntea melko hyvin kaikkien näiden perusteet.
PHP ja MySQL kysely esimerkki
https://www.w3schools.com/php/func_mysqli_query.asp - Anonyymi
Hae kaikki rivit jossa tarvittava cust = xyz.
Sitten katsot montako riviä kyselystä tuli vastaukseen.
Näytät ensimmäisen ja jos rivejä on enemmän, luot seuraava painikkeen.
jne. - Anonyymi
//määritetään tietokantayhteys
$servername = "jotain";
$username = "jotain";
$password = "jotain";
$dbname = "jotain";
$conn = mysqli_connect($servername, $username, $password, $dbname);
//testataan tietokantayhteyden toimivuus
if(mysqli_connect_errno()){
die("Ei yhteyttä tietokantaan!);
} else{
$conn->set_charset("utf8");
}
//haetaan tietokannasata dataa ja tehdään tarvittavia toimia
$tulos = $conn->query("SELECT * FROM table WHERE cust = ''xyz");
$tulosRivit = mysqli_num_rows($tulos);
if($tulosRivit == 1){
//luodaan vain ainoan löytyneen tiedot
} else {
//luodaan ekan löytyneen tiedot painike seuraavaa varten
}
jne- Anonyymi
korjataan typo
WHERE cust = 'xyz'");
ennen kuin joku ehtii :)
- Anonyymi
Ratkaisu:
Hae pienin ID muuttujaan $id_min.
Hae suurin ID muuttujaan $id_max.
Hae ekan ID muuttujaan $id.
Ekalla kerralla ei ole postattu mitään
if (isset($_POST['id'])) {
$_SESSION['id'] = $_POST['id'];
$id = $_POST['id'];
}
jos $id > $id_max, $id = $id_min.
jos $id < $id_min, $id = $id_max.
Näytä ensimmäinen ja painikkeet "next" ja "prev".
Next = Kutsu sama ohjelmakoodi input hidden ID 1 muuttujaan $id
Prev = Kutsu sama ohjelmakoodi input hidden ID -1 muuttujaan $id - Anonyymi
Tuo session id on liikaa, korona-aivopieru.
- Anonyymi
Näitä ilman liittymää olevia tietokanta kyselyjä voi testata tietokantaselaimilla vaikka tällä: https://sqlitebrowser.org/
- Anonyymi
KIITOS linkistä!
- Anonyymi
Tässä aiheesta poiketen; näin tulostat ruudulle verkko-osoitteet joilla olet vieraillut, kun käytössäsi on chromium pohjainen selain. No jaa edellyttää että sinulla on tuo SQLite asennettuna, taitaa nykyään olla useammassa esiasennettu järjestelmän mukana.
a=$(find $HOME/.config/chromium/Default/ -name "History")
cd $(dirname "$a")
sqlite3
.open History
SELECT url FROM urls;- Anonyymi
pitihän sen yhden rivin jäädä pois, poistut lopuksi SQLite komentokehotteesta näin
.exit
huomaa tuo piste alussa. - Anonyymi
Anonyymi kirjoitti:
pitihän sen yhden rivin jäädä pois, poistut lopuksi SQLite komentokehotteesta näin
.exit
huomaa tuo piste alussa.SQLite tietokanta voi olla vain yhteen suuntaan auki kerrallaan, jos sinulla on selain auki ei historian tulostus välttämättä onnistu ilman selaimen sulkemista.
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225124- 254278
- 272441
- 342234
- 371988
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211237Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164