Evitare la ridondanza

Zorthan

Utente Attivo
24 Feb 2007
85
0
0
Ciao a tutti:)
ho un inserimento a 5 valori da 5 moduli drop down menu
di quest 5 , i primi quattro identificano un
giorno, mese, anno, orario treno
l'altro è il ritardo.
da una pagina web, l'utente il cui treno è in ritardo puo' collegarsi
e dai 5 menu a tendina selezionare i valori e inviare al db mysql
i dati che li stamperà su un'altra pagina web (archivio..)
quindi in pratica, ogni singolo treno in una giornata vorrei che venisse
stampato una sola volta.
per es.
giorno 1
mese 10
anno 2008
ritardo 5 minuti
un utente inserisce qusti dati e si registra il valore nel db
ma io vorrei che venisse stampato solo la prima volta dal primo utente il treno oggetto di ritardo. Se un altro utente si connete e ha avuto los tesso problema, reinserisce gli stessi valori (giorno mese anno orario) ma il ritardo puo' variare
In poche parole, vorrei che giorno,mese ,anno e orario treno si stampassero solo unavolta nel web, mentre per i ritardi inseriti venisse fatta una media .
qualcuno ha qualche idea?
per ora
$sql = "SELECT * FROM treni_soppressione ORDER BY giorno,mese,anno,orario";
$result = mysql_query ($sql);
echo "<span style='font-size: 13px; font-weight:bold;'>Giorno Orario Direzione Annunciata</span><br/>";
while ($row = mysql_fetch_row($result))

{

print $row[1] . "&nbsp;". $row[2]."&nbsp;". $row[3] .$row[4]. $row[5].$row[6]. "</span><br>\n";

}
}

?>

Funziona bene ma chi si connette e inserisce ritardi stesso treno, me lo stampa due volte, o 3, o a seconda di quanti inseriscono dati
Insomma, è chiaro. vorrei non fare ristampare lo stesso treno piu di una volta
Vi ringrazio in anticipo
paolo:)
 
ecco tutti i file grazie

ciao, ti invio tutti i file del progetto.


ecco qua. il primo inserisci.php dove ci sono i drop down menu
In poche parole ho creato una tabellas su mysql che ha gli stessi
valori dei campi dei drop down menu giorno, mese, anno, orario, direzione, annunciata

Come ti scrivevo sopra, vorrei che php riconoscesse i record con i
primi 5 campi uguali e non aggiungesse record ulteriori ma andasse ad aumentare solo il numero di segnalazioni sullo stesso treno (si incredmenta solo la colonna annunciata)
se ovviamente un treno (record di 5 campi o value o colonne nella tab) non è ancora stato segnalato, ovviamente, deve essere fatta l'INSERT aumentando la tabella di una riga.
Ci vuole pero' appunto il controllo di cui sopra
grazie ancora per la tua disponibilità
Non ho capito bene pero' il discorso update, o insert. scusa veramente
sto imparando. perdonami:confused:

ciao
:)

1)

:)
<?php
// SETTO I DATI PER LA CONFIGURAZIONE DELLA CONNESSIONE CREANDO LE RELATIVE VARIABILI
$host = "............";
$user = "............";
$password = "...............";
$dbname = ".............";
//CREO LA VARIABILE CHE CONNETTE IL SERVER AL DATABASE
$cxn = mysql_connect($host,$user,$password);
mysql_select_db($dbname);
//CONTROLLO CONNESSIONE SE è OK
if (!$cxn)
{
echo 'Errore durante la connessione al server MySQL';

exit();

}
else {

echo '';
}
echo "<span style='font-family:arial'/>Inserisci i dati del treno in RITARDO in questione</span>";
echo "<p style='font-family:arial'>
<span style='text-align: right'><a href='http://digilander.libero.it/segratrain/'>torna all'home page</a></span>
<form action='form2.php' method='POST'>
<select name='giorno'>
<option value='01'>1</option>
<option value='02'>2</option>
<option value='03'>3</option>
<option value='04'>4</option>
<option value='05'>5</option>
<option value='06'>6</option>
<option value='07'>7</option>
<option value='08'>8</option>
<option value='09'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>";

echo "Giorno
<select name='mese'>
<option value='ottobre'>ottobre</option>
<option value='novembre'>novembre</option>
<option value='dicembre'>dicembre</option>
</select>";

echo "Mese
<select name='anno'>
<option value='2008'>2008</option>

</select>";

echo "anno <br /><br />
<select name='direzione'>
<option value='Pioltello'>Pioltello</option>
<option value='Varese'>Varese</option>

</select>";
echo "Direzione <br /><br />
<select name='orario'>
<option value='0614'>6.14</option>
<option value='0644'>6.44</option>
<option value='0714'>7.14</option>
<option value='0744'>7.44</option>
<option value='0814'>8.14</option>
<option value='0844'>8.44</option>
<option value='0914'>9.14</option>
<option value='0944'>9.44</option>
<option value='1014'>10.14</option>
<option value='1044'>10.44</option>
<option value='1114'>11.14</option>
<option value='1144'>11.44</option>
<option value='1214'>12.14</option>
<option value='1244'>12.44</option>
<option value='1314'>13.14</option>
<option value='1344'>13.44</option>
<option value='1414'>14.14</option>
<option value='1444'>14.44</option>
<option value='1514'>15.14</option>
<option value='1544'>15.44</option>
<option value='1614'>16.14</option>
<option value='1644'>16.44</option>
<option value='1714'>17.14</option>
<option value='1744'>17.44</option>
<option value='1814'>18.14</option>
<option value='1844'>18.44</option>
<option value='1914'>19.14</option>
<option value='1944'>19.44</option>
<option value='2014'>20.14</option>
<option value='2044'>20.44</option>
<option value='2114'>21.14</option>
<option value='2144'>21.44</option>
<option value='2214'>22.14</option>
<option value='2244'>22.44</option>
<option value='2314'>23.14</option>

<option value='2344'>23.44</option>
<option value='0014'>.00.14</option>

</select>";
echo "Orario *<br/ >
<br />

<select name='annunciata'>
<option value='si'>Si</option>
<option value='no'>No</option>

</select>";
echo "Annunciata<br />
<br />
<input name='submit' type='submit' value='invia' />

<input type='hidden' name='submitted' value='yes' />
</form>";




2) file form2.php quello che agisce e prende i values , collegato al form

require ('config.php');

$giorno = $_POST['giorno'];
$mese = $_POST['mese'];
$anno = $_POST['anno'];
$orario = $_POST['orario'];
$direzione = $_POST['direzione'];
$annunciata = $_POST ['annunciata'];


$sql = "INSERT INTO treni_soppressione (giorno,mese,anno,orario,direzione,annunciata) VALUES ('$giorno','$mese','$anno','$orario','$direzione','$annunciata')";
$result = mysql_query($sql);



3) listasoppressioni.php

if (!$cxn)
{
echo 'Errore durante la connessione al server MySQL';

exit();

}
else {


/*RECUPERO I DATI DAL DB MYSQL ORDINATI ALFABETICAMENTE*/

$sql = "SELECT * FROM treni_soppressione ORDER BY giorno,mese,anno,orario,direzione";

$result = mysql_query ($sql);
echo "<span style='font-size: 13px; font-weight:bold;'>Giorno &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Orario &nbsp;&nbsp;&nbsp;&nbsp; Direzione &nbsp;&nbsp;&nbsp; Annunciata</span><br/>";
while ($row = mysql_fetch_row($result))

{

print $row[1] . "&nbsp;". $row[2]."&nbsp;". $row[3]. "&nbsp;&nbsp;&nbsp;&nbsp;" .$row[4]. "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;". $row[5]."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" .$row[6]. "</span><br>\n";

}
}

?>
 
problema

Ciao Narcox
innanzitutto ti ringrazio per la tua pazienza e la tua disponobilità
posso chiederti un'alternativa all'idea dell'id del treno?
non è facile per un utente ricordarselo e inserirlo su internet.
La nostra è una semplice fermata priva di display e personale, solo una linea condue binari .E' proprio questa mancanza di strutture e questa situaizone disgraziata che mi ha fatto venire voglia di fare un sito xché la gente non ne puo' piu.
Per ora ho creato una query che funziona: ovvero, le stesse combinazioni con 5 valori di seguito uguali (identificativo treno) non li reinserisce
E se usassi l'id creato in automaitico come chiave primaria da mysql?
ciao;)
 
grazie

...un po' in base alle tue indicazioni e unendo qualche sforzo di mio dovrei farcela- ti faccio sapere cosa viene fuori piu avanti
ciao :)
 

Discussioni simili