ugrás a tartalomhoz

Több sor egy sorba, cellába...

Csaba123 · 2009. Nov. 1. (V), 11.28
Sziasztok!

Segítséget kérnék!
Van egy film adatbázis.

Szeretném a filmeket táblázatba (nem fontos a táblázat) foglalni, úgy, hogy egy film egy sorban legyen.

Ha simán lekérdezem, akkor így jön le:
Snatch Blöff Jason Statham,Török
Snatch Blöff Brad Pitt,Mickey ONeil
Snatch Blöff Benicio Del Toro,4 ujjú Franky

Szeretném így:
Snatch | Blöff | Jason Statham(Török), Brad Pitt(Mickey ONeil), Benicio Del Toro(4 ujjú Franky) |


<?php
include "cfg/connect.php";

// lekerdezes:
$query="select
m.orig_title
,m.title_hun
,(select concat_ws(',',cx.name, mc1.name) from fx_creative cx, fx_movie_cactor mc1 where mc1.id=mc.id and cx.id=mc1.ref_creative /*and mc1.ref_creative=c.id and mc1.ref_movie='3'*/) as name
from fx_movie m
, fx_movie_cactor mc
, fx_creative c
where title_hun='Blöff'
and mc.ref_movie=m.id
and mc.ref_creative=c.id";
$resultset=mysqli_query($mysqllink,$query) or die("lekérdezési hiba: ".mysqli_error($mysqllink));
echo "találatok száma: " .mysqli_affected_rows($mysqllink);

echo "<table border=\"0\">\n";
$result = mysqli_query($mysqllink,$query);
while ( $row = mysqli_fetch_row( $result ) ) {
{
echo "<tr>\n";
foreach ( $row as $field )
echo "\t<td>$field</td>\n";
echo "</tr>\n";
}
}
echo "</table>\n";
mysqli_close($mysqllink);
?>


Esetleg 2 lekérdezéssel:
<?php
include "cfg/connect.php";

// lekerdezesek:
$query1="select orig_title, title_hun from fx_movie where title_hun='Blöff' " ;
$query2="select concat_ws(',',c1.name, c.name) from fx_movie m, fx_movie_cactor c, fx_creative c1 where title_hun='Blöff' and c.ref_movie=m.id and c.ref_creative=c1.id order by c.is_mainchar DESC, c1.name DESC";
$resultset1=mysqli_query($mysqllink,$query1) or die("lekérdezési hiba: ".mysqli_error($mysqllink));
$resultset2=mysqli_query($mysqllink,$query2) or die("lekérdezési hiba: ".mysqli_error($mysqllink));
echo "találatok száma: " .mysqli_affected_rows($mysqllink);

echo "<table border=\"1\">\n";
$result1 = mysqli_query($mysqllink,$query1);
$result2 = mysqli_query($mysqllink,$query2);
while ( $row2 = mysqli_fetch_row( $result2 ) ) {
{
echo "<tr>\n";
foreach ( $row2 as $field )
echo "\t<td>$field</td>\n";
echo "</tr>\n";
}
}
echo "</table>\n";
mysqli_close($mysqllink);
?>

Csak így hogy? Ebben tudtok segíteni?

Előre is köszönöm!
Csaba
 
1

Mi a kérdés?

janoszen · 2009. Nov. 1. (V), 15.56
Konkrétan hol akadtál el? Mi a hibajelenség?

Off: Mi lenne, ha a kódjaidat kitakarítanád, csak a lényeges dolgokat hagynád benne, betabulálnád és colorerrel iratnád ki? Egyből sokkal átláthatóbb lenne.
2

Néhány dolog:

a.d.a.m · 2009. Nov. 1. (V), 17.13
1. nem hibás egy kicsit ez a kód? (nem ezért, de mintha rossz helyen lennének azok a kapcsos zárójelek):
echo "<table border=\"0\">\n";
$result = mysqli_query($mysqllink,$query);
while ( $row = mysqli_fetch_row( $result ) ) {
{
echo "<tr>\n";
foreach ( $row as $field )
echo "\t<td>$field</td>\n";
echo "</tr>\n";
}
}
echo "</table>\n";
Nem inkább imígyen kellene hogy legyen?

echo "<table border=\"0\">\n";
$result = mysqli_query($mysqllink,$query);
while ( $row = mysqli_fetch_row( $result ) ) {
    echo "<tr>\n";
    foreach ( $row as $field ){
        echo "\t<td>$field</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";
2. Szerintem, de a tapasztaltabbak/okosabbak majd megcáfolnak feleslegesen pocsékolod az erőforrást dupla lekérdezéssel:
resultset=mysqli_query($mysqllink,$query) or die("lekérdezési hiba: ".mysqli_error($mysqllink));
echo "találatok száma: " .mysqli_affected_rows($mysqllink);

echo "<table border=\"0\">\n";
$result = mysqli_query($mysqllink,$query);
pedig lehetne csak símán így is, mert a $resultset változó értékét nem is használod:
$result=mysqli_query($mysqllink,$query) or die("lekérdezési hiba: ".mysqli_error($mysqllink));
3. az SQL-t nem böngésztem végig, de szerintem beágyazott lekérdezés nélkül is megoldható lenne a feladat, ha tévednék remélem kijavítanak a témában járatosabbak.

Nem tudom ezzel választ adtam a kérdésedre. Egyébiránt csatlakoznék proclubhoz, mind a kérdés feltevése, mind a hozzászólás formázása kapcsán.