Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: php ja mysql kysely

karvinen [28.06.2004 20:39:41]

#

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);
?>

Olga [28.06.2004 20:50:15]

#

Vaihdat sen $mysqlyhteys - muuttujan tilalle muuttujan $yhteys (joka on siis tuolla alussa määritelty).

karvinen [28.06.2004 20:56:27]

#

Kiitosta vaan, en vaan jostakin syystä hokassut...

Ja oli vähän muutakin fibaa.

karvinen [28.06.2004 22:15:47]

#

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);
?>

ajv [28.06.2004 23:02:42]

#

<?
//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...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta