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
1275
Vastaukset 11
- 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
- 120991
- 109967
Rakastamisesi tarkoitus
Mikä oli kaiken tarkoitus? En sitä tiedä, en ymmärrä. Olet mielessäni, alati. Olen miettinyt. Ei sillä taida olla merki52681Tämä meidän välinen tilanne
Se on tosi raskas mulle. Ihminen, jota haluan eniten elämääni, ihanin olento, enkä koskaan pääse näkemään häntä. Sydämen34669- 65581
Mitä Kärnässä tapahtui?
Sinnen meni ambulanssi, paloauto, poliisiauto ja poliisimoottoripyörä.5561- 59508
En ole hetkeen sinulle kirjoittanut nainen
Vieläkin ajattelen sinua, jos voit uskoa. Tunteet minussa huutavat toivoa ja rakkautta, kun kylmä loogisuus taas pistää43505Hoikkana olet pysynyt, ja nättinä
Iloa silmille vähän liikaakin. Ei uskalla aina edes katsoa. Tulee liikaa kaipausta. Yhdelle ihanalle19496- 47489