Hogyan tudom megcsinalni?
Mysql adatbazisbol le szeretnem kerni a film adatait, de csak akkor szeretnem megjeleniteni, hogyha rakattintanak a film cimere.
Hogyan tudnam osszehozni?
forraskod:
<?php
$dbhost = "";
$dbuser = "";
$dbpass = "";
$dbname = "";
mysql_connect( $dbhost, $dbuser, $dbpass ) or die ( "Unable to connect to MySQL server" . mysql_error() );
mysql_select_db( "$dbname" ) or die( mysql_error() );
mysql_query( "SET NAMES utf8" );
$query = "SELECT * FROM filmek";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
?>
<tr>
<?php echo "<a href=adatok.php?film=" . $row['film_id'] . ">" . $row['filmcime'] . "</a>"; ?> </td>
<br />
<?php echo $row['megjeleneseve']; ?> </td><br />
<?php echo $row['filmleirasa']; ?> </td><br />
<?php echo $row['filmboritoja']; ?> </td><br />
<?php echo $row['imdbadatlap']; ?> </td><br />
<?php echo $row['kategoriak']; ?> </td><br />
<?php echo $row['szereplok']; ?> </td><br />
<?php echo $row['minoseg']; ?> </td><br />
<?php echo $row['szinkron']; ?> </td><br />
<?php echo $row['link1']; ?> </td><br />
<?php echo $row['link2']; ?> </td><br />
<?php echo $row['link3']; ?> </td><br />
<?php echo $row['link4']; ?> </td><br />
<?php echo $row['link5']; ?> </td><br />
<?php echo $row['link6']; ?> </td>
</tr>
<?php
}
?>
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
Azért a nyitó <td> tag-eket ne felejtsd el. :)
Egyébként a kiindulás jó, az adatok.php-ben le kell kérned a $_GET["film"] változót, ebben jön ugye a film_id, ez alapján futtatsz egy query-t és kiírod az adatokat. :)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
if(isset($_GET["film"])){
itt egy sql lekérés SELECT amit akarsz FROM filmek WHERE film_id=$_GET["film"]
és kiiratod
}
és nézz utána hogy kell táblázatot
Koszonom. Es ezt hogy tudom leirni helyesen (pontosan hova kell "macskakorom"), mert sehogy sem engedi:
$sql = "SELECT * FROM filmek WHERE film_id = $_GET["film_id"]";
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
többféleképp is lehet:
1. előtte beteszed egy változóba, pl $film_id=$_GET["film_id"]
$sql = "SELECT * FROM filmek WHERE film_id = $film_id";
2. $sql = "SELECT * FROM filmek WHERE film_id = {$_GET["film_id"]}";
3. $sql = "SELECT * FROM filmek WHERE film_id = $_GET['film_id']";
4. $sql = "SELECT * FROM filmek WHERE film_id = ".$_GET["film_id"];
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Tanulj meg speciális karaktereket escapelni inkább.
Azaz a te lekérdezésed így néz ki escapeléssel:
$sql = "SELECT * FROM filmek WHERE film_id = $_GET[\"film_id\"]";
Ez működni is fog. Láthatólag nem ördöngőség csak a " elé teszel egy backslash jelet ami pedig ez: "\" persze idézőjelek nélkül.
ezután kiíratod echo $sql
Persze érdemes lenne a sorokat is szabályozni benne, hogy max 25 jelenleg meg pl.
Érdemes volna egy kicsit önmagában sql-ozni.( persze neked még inkább a php-t kellene szoknod:)
Én amikor tanultam a php+mysqlt beléptem a mysql felületre és csináltam különféle lekérdezéseket,a php weboldal úgyis azokat használja:)
Koszonom, de ezzel nem mukodik:
$sql = "SELECT * FROM filmek WHERE film_id = $_GET[\"film_id\"]";
es ha "echo $sql"-el irom ki akkor igy irja ki:
SELECT * FROM filmek WHERE film_id =
ha ezzel irom ki:
$sql = "SELECT * FROM filmek WHERE film_id = ".$_GET["film_id"];
echo $sql
En ugy szeretnem, hogy kulonbozo helyeken megjeleniteni, pl. tablazatban a "megjeleneseve, filmleirasa stb"-t.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
Ez marhaság:
$sql = "SELECT * FROM filmek WHERE film_id = $_GET[\"film_id\"]";
Ez kell neked:
$sql = "SELECT * FROM filmek WHERE film_id = " . $_GET["film_id"] . ";";
Ugyanis a $_GET cuccot hozzá kell konkatenálni a lekérdezés első feléhez.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
pedig már leírtuk a megoldást
if(isset($_GET["film"]{
//ide jön amit írtunk lekérdezés, és ahogyan írtad, nagyjából úgy kiíratod a while-ban a dolgokat
}else{
//kiíratod a linkeket egy lekérdezéssel
$query = "SELECT film_id, filmcime FROM filmek";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo "<a href=\"adatok.php?film=$row['film_id']\">$row['filmcime']</a><br />";
}
}
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!