Mikähän tuossa allaolevassa koodissa takkuaa...
Rivi 19
$hakutulos=mysql_query($sqlkom, $mysqlyhteys) or die("SQL-komennossa virhe:" .mysql_error($mysqlyhteys));
virheilmoitukset:
Notice: Undefined variable: mysqlyhteys in C:\web\lue.php on line 19 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\web\lue.php on line 19 SQL-komennossa virhe:
<?php $sql_palvelin = "localhost"; $sql_tunnus = ""; $sql_salasana = ""; $sql_tietokanta = "test"; $yhteys = mysql_connect($sql_palvelin, $sql_tunnus, $sql_salasana) or die(mysql_error()); mysql_select_db($sql_tietokanta) or die (mysql_error()); //tähän tulevat tietokantakyselyt! $sqlkom="SELECT * FROM vierat ORDER BY nimi, posti, viesti"; $hakutulos=mysql_query($sqlkom, $mysqlyhteys) or die("SQL-komennossa virhe:" .mysql_error($mysqlyhteys)); while($tulosrivi=mysql_fetch_array($hakutulos)) { $et=$tulosrivi["nimi"]; } print ("$et"); //suljetaan yhteys mysql_close($yhteys); ?>
Vaihdat sen $mysqlyhteys - muuttujan tilalle muuttujan $yhteys (joka on siis tuolla alussa määritelty).
Kiitosta vaan, en vaan jostakin syystä hokassut...
Ja oli vähän muutakin fibaa.
Jatketaan vähän samasta...
pitäisi saada haettua mysql kannasta test, taulun vieras rivien määrän muuttujaan.
Saisin tuon for lauseeseen, ette yritä tulostaa enempää kuin rivejä on.
Käsittääkseni jotenkin näin...
SELECT MAX(id) FROM vieras
Mutta ei saa toimimaan vaikka mihinkäs väliin yrittää.
<?php $sql_palvelin = "localhost"; $sql_tunnus = ""; $sql_salasana = ""; $sql_tietokanta = "test"; $yhteys = mysql_connect($sql_palvelin, $sql_tunnus, $sql_salasana) or die(mysql_error()); mysql_select_db($sql_tietokanta) or die (mysql_error()); //tähän tulevat tietokantakyselyt! //haetaan taulusta vieras id numeron mukaan järjestyksessä nimi posti ja viesti kentät $sqlkom="SELECT * FROM vieras ORDER BY id, nimi, posti, viesti"; $hakutulos=mysql_query($sqlkom, $yhteys) or die("SQL-komennossa virhe:" .mysql_error($yhteys)); // tulostetaan for lauseessa niin kauvan kun tulostettavaa on. for ($i = 0; $i <= 10; $i++) { print mysql_result($hakutulos, $i, "nimi"); print "<BR>"; } // tulostetaan for lauseessa niin kauvan kun tulostettavaa on. //suljetaan yhteys mysql_close($yhteys); ?>
<? //Tällä kyselyllä saat tuon taulun rivien määrän... "SELECT COUNT(*) AS yhteensä FROM vieras" //...mutta mitä turhaan, kun: $sqlkom="SELECT * FROM vieras ORDER BY id, nimi, posti, viesti"; $hakutulos=mysql_query($sqlkom, $yhteys) or die("SQL-komennossa virhe:" .mysql_error($yhteys)); //saat saman tästä suoraan mysql_num_rows()-funktiolla $yhteensä = mysql_num_rows($hakutulos); //Toisaalta et tarvitse tuotakaan, kun käytät while-silmukkaa: while($temp = mysql_fetch_array($hakutulos)){ echo $temp['nimi']; echo "<BR>\n"; } ?>
EDIT:Jaa, sulla näköjään on joku syy tohon for-silmukkaan, kun tossa ekassa viestissä olikin jo toi while-looppi. Parempi ehkä mennä nukkumaan...
Aihe on jo aika vanha, joten et voi enää vastata siihen.