Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedostolistaus ja kuvaus

Sivun loppuun

töheltäjä [16.07.2008 11:58:29]

#

Olen ajautunut tilanteeseen josta ei vaan osaa selvitä. Eli tarkoitus on saada tuohon tiedoston alle tulostettua aina tuo kuvaus siitä videon pätkästä. Olen vääntänyt vaikka mitenkä mut en ole saanut toivottua tulosta. Johtuu siitä, että olen aivan aloittelija näissä jutuissa. Jos joku voisi ystävällisesti auttaa tämän asian kanssa, sivut käytänöössä tätä vailla.

<?php

$DBServer="localhost";    # Serveri
$DBUser="";           # Käyttäjänimi
$DBPassword="";       # Salasana
$DBName="kommentit";  # Tietokannan nimi

$Que="SELECT * FROM vidmus";
{
$Conn=mysql_connect($DBServer,$DBUser,$DBPassword) or die("Virhe, tietokantaan ei saa yhteyttä<BR>".mysql_error());

mysql_select_db($DBName,$Conn) or SQLError("Virhe, kantaa \"$DBName\" ei voi valita<BR>".mysql_error());

$Res=mysql_query($Que,$Conn) or die ("Virheellinen kysely: \"$Que\"<BR>".mysql_error());

while ($rivi = mysql_fetch_array($Res))
{

 $kuvaus = $rivi['kuvaus'];

 echo $kuvaus;

  }

mysql_free_result($Res);

mysql_close($Conn);
}

    $perus="images/";


    function laske($a){

        for($i=0;$i<$a;$i++){

            $sis.=" - ";

        }

        return $sis;

    }


    function listaa($alku, &$tied, &$hak){

        global $perus;

        if(!file_exists($alku)) exit("<font color=\"red\">ERROR: hakemistoa <b>$perus</b> ei löydy</font>");

        foreach(glob("$alku*") as $nimi){

            $sis=explode("/", str_replace("$perus", "", $nimi));

            echo laske(count($sis));

            if(is_dir($nimi)){

                $hak++;

                echo "<a href=\"$nimi\" class=\"hak\">".str_replace("$alku", "", $nimi)."</a><br>";

            }else{

// ja jos ei
                $tied++;

                echo "<a href=\"$nimi\" class=\"fil\">".str_replace("$alku", "", $nimi)."</a> (".round(filesize($nimi)/1024/1024,2)." Mt) <br>";

            }


            if(is_dir("$nimi")) listaa($nimi."/", $tied, $hak);

        }
    }

?>
<html>
    <head>
        <title>Video leikkeet</title>
        <style type="text/css" href="styles.css">
            body {
                font-family: Sans; color: #000; font-size: 11px;
                padding: 0px 0px 0px 0px;
            }
            h1 { margin: 0 }
            div.listaus {
                background: #b6e2ed;
                border: 1px solid #5894a3;
                padding: 10px
            }
            div.tulos {
                float: right top;
            }
            a:link.hak { color: red; text-decoration: none }
            a:visited.hak { color: #990000; text-decoration: none }
            a:hover.hak { color: red; text-decoration: none }
            a:active.hak { color: blue; text-decoration: none }

            a:link.fil { color: black; text-decoration: none }
            a:visited.fil { color: gray; text-decoration: none }
            a:hover.fil { color: black; text-decoration: none }
            a:active.fil { color: blue; text-decoration: none }
        </style>
    </head>
    <body>
        <h1>Video leikkeet</h1><br><br>
<?php
    $tied = $hak = 0;
    echo "<div class=\"listaus\">";
    listaa($perus, $tied, $hak, $kuvaus);
    echo "</div>Leikkeitä yhteensä: $tied";

?>
    </body>
</html>

Eli tuohon tiedostolistaus missä tiedostonnimi on linkkinä ja sen koko. Niin siihen alle aina tulostettaisiin tuosta $kuvaus tiedot. Saan tulemaan oikeassa järjästyksessä muualle mutta tuohon kohtaan en osaa laittaa.

TsaTsaTsaa [16.07.2008 12:29:12]

#

Jos vidmus-taulussa on kenttänä tiedostonimi ja kuvaus niin voit hakea tuossa listauksen yhteydessä aina oikean kuvauksen tyyliin:

$sql = mysql_query("SELECT kuvaus FROM vidmus WHERE tiedosto = \"$nimi\"", $Conn);
$kuvaus = mysql_result($sql, 0, 0);
echo $kuvaus;

MUOKS: Ja tietenkin siirtää tuolta alusta mysql_close vasta loppuun.

Putkalainen [16.07.2008 12:58:17]

#

Mysql_close kannattaa ottaa kokonaan pois, koska skriptin lopussa yhteys katkeaa joka tapauksessa.

töheltäjä [16.07.2008 15:07:08]

#

<?php

$DBServer="localhost";    # Serveri
$DBUser="";           # Käyttäjänimi
$DBPassword="";       # Salasana
$DBName="kommentit";  # Tietokannan nimi

$Que="SELECT kuvaus FROM vidmus WHERE tiedosto = \"$nimi\"";

$Conn=mysql_connect($DBServer,$DBUser,$DBPassword) or die("Virhe, tietokantaan ei saa yhteyttä<BR>".mysql_error());

mysql_select_db($DBName,$Conn) or SQLError("Virhe, kantaa \"$DBName\" ei voi valita<BR>".mysql_error());

$Res=mysql_query($Que,$Conn) or die ("Virheellinen kysely: \"$Que\"<BR>".mysql_error());

     $kuvaus = mysql_result($sql, 0, 0);

     echo $kuvaus;

    $perus="images/";


    function laske($a){

        for($i=0;$i<$a;$i++){

            $sis.=" - ";

        }

        return $sis;

    }


    function listaa($alku, &$tied, &$hak){

        global $perus;

        if(!file_exists($alku)) exit("<font color=\"red\">ERROR: hakemistoa <b>$perus</b> ei löydy</font>");

        foreach(glob("$alku*") as $nimi){

            $sis=explode("/", str_replace("$perus", "", $nimi));

            echo laske(count($sis));

            if(is_dir($nimi)){

                $hak++;

                echo "<a href=\"$nimi\" class=\"hak\">".str_replace("$alku", "", $nimi)."</a><br>";

            }else{

// ja jos ei
                $tied++;

                echo "<a href=\"$nimi\" class=\"fil\">".str_replace("$alku", "", $nimi)."</a> (".round(filesize($nimi)/1024/1024,2)." Mt) <br>";

            }


            if(is_dir("$nimi")) listaa($nimi."/", $tied, $hak);

        }
    }

?>
<html>
    <head>
        <title>Video leikkeet</title>
        <style type="text/css" href="styles.css">
            body {
                font-family: Sans; color: #000; font-size: 11px;
                padding: 0px 0px 0px 0px;
            }
            h1 { margin: 0 }
            div.listaus {
                background: #b6e2ed;
                border: 1px solid #5894a3;
                padding: 10px
            }
            div.tulos {
                float: right top;
            }
            a:link.hak { color: red; text-decoration: none }
            a:visited.hak { color: #990000; text-decoration: none }
            a:hover.hak { color: red; text-decoration: none }
            a:active.hak { color: blue; text-decoration: none }

            a:link.fil { color: black; text-decoration: none }
            a:visited.fil { color: gray; text-decoration: none }
            a:hover.fil { color: black; text-decoration: none }
            a:active.fil { color: blue; text-decoration: none }
        </style>
    </head>
    <body>
        <h1>Video leikkeet</h1><br><br>
<?php
    $tied = $hak = 0;
    echo "<div class=\"listaus\">";
    listaa($perus, $tied, $hak, $kuvaus);
    echo "</div>Leikkeitä yhteensä: $tied";

?>
    </body>
</html>

Noin laittelin niin en saa mitään tulostettua tarkistin et on tietokannassa tiedosto kenttä missä justiisa nuo tiedoston nimet on samassa muodossa kun tuossa tulostuksessa. Alakaa olla tosiaan leipääntynyt kun tuntuu että ei mitään osaa. Oisko tulla sitten väliä missä välissä tuo Tietokanta osio on tai jotain. Meinaa jos tuossa kohti yritän echota noita muita muuttujia niin ei tulostu mitään. En tiiä en varmaan ei oo paljosta kiinni viikon ajan yrittäny saaha tätäkii mut ei.

Wiwwe [16.07.2008 18:21:43]

#

töheltäjä kirjoitti:

$Res=mysql_query($Que,$Conn) or die ("Virheellinen kysely: \"$Que\"<BR>".mysql_error());

     $kuvaus = mysql_result($sql, 0, 0);

Eikös tuossa ole menny sekasin... $Res != $sql

töheltäjä [16.07.2008 18:45:49]

#

itse asiassa on $kuvaus = mysql_result($Res, 0, 0); Jostain syystä oli tuohon jäänyt vielä noin, mutta silti ei toimi.

Wiwwe [16.07.2008 19:14:55]

#

Hmm... Pitäiskö tuo kantakysely suorittaa tuolla listaa-funktion silmukassa? Nythän tuolla $nimi muuttujalla ei ole arvoa lainkaan kyselyä tehtäessä.

töheltäjä [16.07.2008 19:34:33]

#

Yritin tarjota tuota vaikka mihin kohtaan, ei apua ollu tietysti ei sattunu oikeeseen kohtaan. Äijän voi olla hankala juttu minulle.

Wiwwe [16.07.2008 20:15:13]

#

Mites tämä toimis, pikaisesti muokattu sinun koodia.

<?php

$DBServer="localhost";    # Serveri
$DBUser="";           # Käyttäjänimi
$DBPassword="";       # Salasana
$DBName="kommentit";  # Tietokannan nimi


$Conn=mysql_connect($DBServer,$DBUser,$DBPassword) or die("Virhe, tietokantaan ei saa yhteyttä<BR>".mysql_error());

mysql_select_db($DBName,$Conn) or SQLError("Virhe, kantaa \"$DBName\" ei voi valita<BR>".mysql_error());


    $perus="images/";


    function laske($a){

        for($i=0;$i<$a;$i++){

            $sis.=" - ";

        }

        return $sis;

    }


    function listaa($alku, &$tied, &$hak){

        global $perus;

        if(!file_exists($alku)) exit("<font color=\"red\">ERROR: hakemistoa <b>$perus</b> ei löydy</font>");

        foreach(glob("$alku*") as $nimi){

            $sis=explode("/", str_replace("$perus", "", $nimi));

            echo laske(count($sis));

            if(is_dir($nimi)){

                $hak++;

                echo "<a href=\"$nimi\" class=\"hak\">".str_replace("$alku", "", $nimi)."</a><br>";

            }else{

// ja jos ei
                $tied++;

                echo "<a href=\"$nimi\" class=\"fil\">".str_replace("$alku", "", $nimi)."</a> (".round(filesize($nimi)/1024/1024,2)." Mt) <br>";

                $Que="SELECT kuvaus FROM vidmus WHERE tiedosto = \"$nimi\"";

                $Res=mysql_query($Que,$Conn) or die ("Virheellinen kysely: \"$Que\"<BR>".mysql_error());

     			$kuvaus = mysql_result($sql, 0, 0);

			     echo $kuvaus . "<br>";


            }


            if(is_dir("$nimi")) listaa($nimi."/", $tied, $hak);

        }
    }

?>
<html>
    <head>
        <title>Video leikkeet</title>
        <style type="text/css" href="styles.css">
            body {
                font-family: Sans; color: #000; font-size: 11px;
                padding: 0px 0px 0px 0px;
            }
            h1 { margin: 0 }
            div.listaus {
                background: #b6e2ed;
                border: 1px solid #5894a3;
                padding: 10px
            }
            div.tulos {
                float: right top;
            }
            a:link.hak { color: red; text-decoration: none }
            a:visited.hak { color: #990000; text-decoration: none }
            a:hover.hak { color: red; text-decoration: none }
            a:active.hak { color: blue; text-decoration: none }

            a:link.fil { color: black; text-decoration: none }
            a:visited.fil { color: gray; text-decoration: none }
            a:hover.fil { color: black; text-decoration: none }
            a:active.fil { color: blue; text-decoration: none }
        </style>
    </head>
    <body>
        <h1>Video leikkeet</h1><br><br>
<?php
    $tied = $hak = 0;
    echo "<div class=\"listaus\">";
    listaa($perus, $tied, $hak);
    echo "</div>Leikkeitä yhteensä: $tied";

?>
    </body>
</html>

töheltäjä [16.07.2008 20:47:47]

#

Virheellinen kysely: "SELECT kuvaus FROM vidmus WHERE tiedosto = images/Bear.wmv"

Tuommosen antaa eli sisältääkö tuo hakumuuttuja sitten tuon images/ eli pitäs kait saaha pois tuo, vai miten mahtas olla vaikuttas et vihdoinkin olis lähellä.

töheltäjä [16.07.2008 20:59:09]

#

Antaa tuon saman virheilimotuksen vaikka laittaa suoraan tuohon WHERE tiedosto = 'Bear.wmv'"; mikähän lie sitten pielessä?

Wiwwe [16.07.2008 21:09:14]

#

Jep, nyt nuo rivit:

$Conn=mysql_connect...

mysql_select_db($DBName,$Conn)...

on tuon funktion ulkopuolella. Siirrä ne sinne mukaan tai anna $Conn parametrinä.

Ja tosiaan tuo polku pitäisi saada pois kyselystä.

töheltäjä [16.07.2008 21:27:51]

#

Nyt tekee kun laittaa tuon pelekästään sillä nimellä. Pitäs varmaan tutkia et miten sais sen alaku osan siitä $nimi pois.

töheltäjä [16.07.2008 23:08:59]

#

Laiton sen silleen et siinä tallennus vaiheessa lisään sen tiedoston nimen eteen tuon images/ ,silleen ainakiin tuntus toimivan.

Kyllä täytii kiittää Wiwwee suuresti saan vihdoinkin ehkäpä valamiiks tämän tekeleistön.

Wiwwe [17.07.2008 17:36:17]

#

Eipä kestä...


Sivun alkuun

Vastaus

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

Tietoa sivustosta