Il Database Parlante

sabato 28 marzo 2009 - 00.07

RunCommand Profilo | Newbie

Salve avrei la necessità di creare un database con la possibilità di estrarre non solo del testo ma anche dei file audio

Mi spiego meglio :

Supponiamo che il database contenga la tabella " articoli " con i seguenti campi - id , titolo , data , testo , autore
Digitando nel form il titolo dell'articolo mi verrà visualizzato il relativo testo , ciò che vorrei fare e aggiungere un'altro campo per un file audio ( di tipo wav oppure mp3 ) , che verrebbe riprodotto in contemporanea alla visualizzazione del testo recuperato dal database .

Quindi avremo :

id , titolo , data , testo , autore , audio

Il problema e che ho iniziato da poco a lavorare con i database relazionali ( a proposito uso
PHP 5.2.1 , MYSQL 5.0 e Apache 2.2 ) e non ho le idee chiare su come realizzare questa cosa .

Per esempio :

1 - Che tipo di campo e quale funzione devo assegnare al campo audio ?
2 - Come modificare il codice per il salvataggio del file audio attraverso il form ?
2 - Come fare per iniziare la riproduzione automatica del file audio subito dopo il recupero ?
3 - Inoltre vorrei visualizzare un messaggio nel caso l'articolo non fosse presente nel database


Posto il sorgente principale :

[ codice primofile.php ]

<?
include("open.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$query = "CREATE TABLE news (id INT (5) UNSIGNED not null AUTO_INCREMENT, titolo VARCHAR (255) not null, testo TEXT not null, data INT (11), autore VARCHAR (50), mail VARCHAR (50), PRIMARY KEY (id))";
if (mysql_query($query, $db))
echo "L'installazione è stata eseguita correttamente";
else
echo "Errore durante l'installazione";
mysql_close($db);
?>

[/codice php ]


[ codice secondofile.php ]

<?
include ("open.php");

//intestazione
top();
?>

<form method="post" action="save.php">
Titolo:<br />
<input type="text" size="40" name="titolo" />
<br /><br />
Data:<br />

<select name="giorno">
<?
for ($i=1; $i<=31; $i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>

<select name="mese">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>

<select name="anno">
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2003">2006</option>
<option value="2004">2007</option>
</select>
<br /><br />

Autore:<br />
<input type="text" size="40" name="autore" />
<br /><br />
E-mail:<br />
<input type="text" size="40" name="mail" />
<br /><br />
Testo:<br />
<textarea cols="60" rows="40" name="testo"></textarea><br />
<br />
Password:<br />
<input type="password" size="40" name="pass" />
<br /><br />
<input type="submit" value="Invia2" />
</form>
<?
// chiusura pagina
foot();
?>

[/codice php ]

[ codice terzofile.php ]

<?php
include("open.php");
$chiave=$_REQUEST['chiave'];
top();
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$keys = explode (",", $chiave);
$query = "";
reset ($keys);
while (list(,$parola) = each ($keys))
{ $parola = trim($parola);
if ($parola != "")
$query .= "titolo = '$parola' OR testo = '$parola' OR autore = '$parola' OR ";
}
$query .= " 0";
$query = "SELECT id, testo, data FROM news WHERE " . $query;
$result = mysql_query($query, $db);
if ($query == FALSE)
die ("Spiacente ............");
while ($row = mysql_fetch_array($result))
{
echo "<a>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" .date("",$row['data']) . "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp {$row['testo']}</a><br>";
}
mysql_close($db);
foot();
?>

[/codice php ]


Ringrazio in anticipo chi volesse aiutarmi a risolvere il problema


RunCommand Profilo | Newbie

Ok ho creato un nuovo database per le prove aggiungendo il campo per l'audio di tipo VARCHAR

come valore al suo interno ho provato a inserire il percorso in questi due modi diversi :

prima

london.mp3 ( questo file si trova nella cartella dei file php del database )

e su un'altro

c:\\brani\\london.mp3 ( questo naturalmente e collocato in un'altra directory per vedere se cambia qualcosa )

Quale dei due valori e corretto ?


Digitando il titolo nel Form di ricerca questa va a buon fine e restituisce il risultato
MA PER QUANTO RIGUARDA L'AUDIO NIENTE DA FARE NON FUNZIONA , come dovrei operare quindi affinchè venga riprodotto in automatico ?

dovrei usare fopen ?


Questa e la modifica che ho apportato alla riga echo :

[php]
echo "<a>&nbsp" .date("",$row['data']) . "&nbsp {$row['testo']} {$row['audio']}</a><br>";
[/php]




Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5