Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-05-2004, 18:40   #1
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3958
[php] visualizzare record e ordinarli

Ciao a tutti,
ho 2 domande:

1) Ho un modulo html che passa ad una pagina php di ricerca che
si collega ad un database mysql le variabile in base alle quali effettuare
la ricerca e visualizzare i risultati, ad esempio:

$sql = "SELECT * from PERSONALE where reparto= '$rep' and cognome = '$cognome'";

con questa istruzione poi la variabile $sql è passata ad una funzione di ricerca che visualizzera i risultati
in base al cognome e al rep (sta per reparto di appartenenza)
Volevo sapere se nel caso in cui dal form html non inviassi nessun parametro
(form in bianco) e prema il tasto di invio, come faccio a far visualizzare tutti
i record del database. Per informazione la tabella contiene un campo con numero progressivo
nominato "id_utente"
(attualmente ci sono 7 record: tutti quelli che vorrei visualizzare indistintamente)
dovrebbe essere una cosa del tipo:
elseif($rep==""&&$cognome=="")
{
..istruzione..

}

ho già usato una cosa simile che prevede una determinata situazione ma
adesso non riesco a venirne a capo (forse mi perdo in un bicchiere d'acqua!!)

si potrebbe richiamare una nuova funzione che non abbia niente a che fare con quella sopra
(non voglio modificarla altrimenti faccio casini) e che stampi con un cicli for
tutte le righe esistenti: ma come si fa a comunicare al ciclo quanti record ci sono nel database?
ovviamente.

Mi basterebbe anche un semplice link da aggiungere nella pagina html che
richiami uno script php che mi visualizzi l'intero elenco.

Ho riutilizzato per la cronaca script
a questa pagina:

http://a2.swlibero.org/a2280.html#almltitle3095
il file brdp_db.php e index.php per la precisione



2)
vorrei visualizzare i cognomi (l'intera lista o solo quelli ricercati)
inseriti nel campo relativo del database
in ordine alfabetico . Esiste una funzione del php per fare questo?
ciao e grazie.
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2004, 22:51   #2
fabio_tarantino
Member
 
Iscritto dal: Nov 2002
Messaggi: 160
1)

Forse ho capito male io, dal mometo che la soluzione mi sembra così banale:

Questi ti dovrebbe visualizzare l'intero elenco... sempre se ho capito bene la tua domanda

else if ($rep==""&&$cognome=="")
{
$sql = "SELECT * FROM Personale";
}

Per la stampa della lista il ciclo lo puoi fare indirettamente con un while

$ris = risultato query
while (list($pers_cognome) = mysql_fetch_row ($ris))
{
print($pers_cognome);
}


2) Per la visualizzazione della lista ordinata per cognome semplicemente la fai fare al db:

$sql = "SELECT * FROM Personale ORDER by cognome";
fabio_tarantino è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2004, 23:34   #3
khamel
Member
 
L'Avatar di khamel
 
Iscritto dal: Feb 2004
Città: Rimini
Messaggi: 247
la funzione

mysql_num_rows(recordset)

ritorna il numero di righe che contiene il recordset in cui hai i dati del risultato della query.

ad esempio per stampare tutti i cognomi

$sql="select * from personale";
$ris=mysql_query($sql);
$totr=mysql_num_rows($ris);
print "Elenco cognomi";
for ($i=0;$i<$totr<$i++){
print "<br>".mysql_result($ris,$i,"cognome");
}

il resto tutto come ha detto fabio_tarantino...
__________________
"Se per caso il C non fosse sufficiente il Vero Programmatore lavorera' in assembler, se neppure questo fosse sufficiente allora il lavoro non e' fattibile, ma la cosa e' impossibile, un Vero Programmatore in C ed assembler puo' fare TUTTO, per definizione."
khamel è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2004, 00:33   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da khamel
la funzione

mysql_num_rows(recordset)

ritorna il numero di righe che contiene il recordset in cui hai i dati del risultato della query.

ad esempio per stampare tutti i cognomi

$sql="select * from personale";
$ris=mysql_query($sql);
$totr=mysql_num_rows($ris);
print "Elenco cognomi";
for ($i=0;$i<$totr<$i++){
print "<br>".mysql_result($ris,$i,"cognome");
}

il resto tutto come ha detto fabio_tarantino...
Solitamente non si usa mai mysql_num_rows... Si opera con le varie funzioni mysql_fetch_....
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2004, 08:50   #5
khamel
Member
 
L'Avatar di khamel
 
Iscritto dal: Feb 2004
Città: Rimini
Messaggi: 247
Quote:
Originariamente inviato da cionci
Solitamente non si usa mai mysql_num_rows... Si opera con le varie funzioni mysql_fetch_....
è solo un'altro modo di fare una cosa... non dico che sia per forza giusto... cmq incasso il colpo
__________________
"Se per caso il C non fosse sufficiente il Vero Programmatore lavorera' in assembler, se neppure questo fosse sufficiente allora il lavoro non e' fattibile, ma la cosa e' impossibile, un Vero Programmatore in C ed assembler puo' fare TUTTO, per definizione."
khamel è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2004, 09:07   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da khamel
è solo un'altro modo di fare una cosa... non dico che sia per forza giusto... cmq incasso il colpo
Solitamente per il fatto che è più comodo operare con le altre...almeno per me... Tra l'altro il tuo metodo...l'ho visto usare solamente quando non si conosce il contenuto dei campi della tabella per fare un output sbrigativo di una riga (senza il terzo parametro)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2004, 09:13   #7
khamel
Member
 
L'Avatar di khamel
 
Iscritto dal: Feb 2004
Città: Rimini
Messaggi: 247
il primo che ho imparato (alle superiori... ) è stato quello, ci sono un po legato ancora

@cionci



quella guida a delphi che ti dicevo ci sto lavorando ma il tempo è veramente poco...tra un mesetto è ora di esami e sono un po preso...

__________________
"Se per caso il C non fosse sufficiente il Vero Programmatore lavorera' in assembler, se neppure questo fosse sufficiente allora il lavoro non e' fattibile, ma la cosa e' impossibile, un Vero Programmatore in C ed assembler puo' fare TUTTO, per definizione."
khamel è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2004, 09:15   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da khamel


quella guida a delphi che ti dicevo ci sto lavorando ma il tempo è veramente poco...tra un mesetto è ora di esami e sono un po preso...

No problem
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2004, 18:45   #9
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3958
grazie!
comunque ci deve essere qualcosa che non va nel codice, qualche errore mio o chissà, avevo pensato già più o meno alle soluzioni proposte.
...boh.. invio i dati ad un altro file ricerca.php fatto ad hoc e faccio prima
grazie ancora e ciao.
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2004, 13:09   #10
fabio_tarantino
Member
 
Iscritto dal: Nov 2002
Messaggi: 160
magari se posti il codice incriminato ti diamo una mano
fabio_tarantino è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2004, 13:45   #11
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3958
Quote:
Originariamente inviato da fabio_tarantino
magari se posti il codice incriminato ti diamo una mano
..infatti


Non capisco qual'è il problema (sono alle prime armi con il php abbiate pazienza)!!
vi posto tutto:

Codice:
//file con le opzioni di ricerca.html:

<html>
<body>
<form method="GET" action="index.php">
  <table border="0" width="48%" cellspacing="1">
  <tr>
    <td width="1%"><b>Reparto</b></td>
    <td width="101%"><select size="1" name="rep">
  <option></option>
  <option>Manager   </option>
  <option>Officina  </option>
  <option>Stireria  </option></td> </tr>
    <tr>
    <td width="1%"><b>Cognome</b></td>
    <td width="101%"><input type="text" name="cognome" size="20"></td>
  </tr>
    <td width="54%"><input type="submit" value="Invia" name="B1"><input type="reset" value="Reimposta dati" name="B2">
</form>
</td>
</tr></table></form>
</body>
</html>


//file destinazione index.php:

  <?
    include("brdp_db.php");
    $db = new database;
    $db->connetti();
    if($rep&&$cognome!="")
    {
    $sql = "SELECT * from BRDP_TB_UTENTI where reparto= '$rep' and cognome = '$cognome'";
    }elseif($cognome=="")
    {
    $sql = "SELECT * from BRDP_TB_UTENTI where reparto= '$rep'";
    }elseif($rep=="")
    {
    $sql = "SELECT * from BRDP_TB_UTENTI where cognome= '$cognome'";//fino a qui nessun problema
    }elseif ((empty($rep)) && (empty($cognome)))   //qui non va!
    {
    $sql = "SELECT * from BRDP_TB_UTENTI";
    }
  ?>

 <html>
 <head>
   
 </head><body>
  <a href="ricerca.php">RICERCA</a>
 <br><br> <table>
 <?
  # Eseguo la query contenuta in $sql
  if($db->esegui($sql)){
    if($db->righe()>0){
      for($i=0; $i<$db->righe(); $i++){
        $j=$i+1;
        echo "<tr><td>".$j.") ".$db->leggi($i,"nome")." <td>".$db->leggi($i,"cognome")."</td></td>";
        echo "<td><a href=\"agenda.php?utente=".$db->leggi($i,"id_utente");
        echo "&nome=".$db->leggi($i,"nome");
        echo "\">Agenda utente</a></td></tr>";
      }
    }else{
       echo "<tr><td> Nessun utente attivo in archivio </td></tr>";
    }
  }else{
       echo "<tr><td>Errore di interrogazione.</td></tr>";
  }
 ?>
 </table>
 </body></html>
 <?
   $db->disconnetti();
 ?>


//file principale da includere brdp_db.php scaricato dal sito citato sopra:


<?

class database {
  var $db;	

  function database($USER="", $PASSWORD="", $DB="brdp_esempio_1 ", $HOST="127.0.0.1" ){
     $this->db["user"] = $USER;
     $this->db["password"] = $PASSWORD;
     $this->db["db"] = $DB;
     $this->db["host"] = $HOST;
  }

  function connetti(){
    $this->db["connessione"] = @mysql_connect($this->db["host"],$this->db["user"],$this->db["password"]);
    if ($this->db["connessione"]){
      return $this->db["connessione"];	
    }else{
?>
    <br>
    <table align="center" width="500" cellspacing="0" cellpadding="4" border="1">
      <tr bgcolor="#e2e2e2">
        <td>
          <font color="#000000" face="helvetica,verdana" size="5">
           <b>PROBLEMI DI CONNESSIONE</b>
          </font>
        </td>
      </tr>
      <tr>
        <td>
          <font size="2" color="#4F4F4F" face="Helvetica, Verdana">
            I nostri server sono, momentaneamente, <b>sovraccarichi</b>
            e NON possono stabilire una connessione. Vi invitiamo a 
            riprovare più tardi. Se il problema persiste, per favore,
            segnalatelo al<b><i>
            <a href="mailto:webmastert@del_sito.it">webmaster</a></i></b>.
          </font>
        </td>
      </tr>
    </table>
<?
        exit;
    }
  }


  function disconnetti(){
    @mysql_close($this->db["connessione"]);
  }	


  function esegui($query){ 
    $this->db["risultato"] = @mysql_db_query($this->db["db"],$query,$this->db["connessione"]);
    return $this->db["risultato"];
  }


  function query2select($query, $nome, $valore, $default, $metodo){ 
    if($this->esegui($query)){
      for($i=0; $i<$this->righe(); $i++){
        $sel="";
        if ($default == $this->leggi($i,$valore))
          $sel="selected";

        $ris = $ris."<option value=\"".$this->leggi($i,$valore)."\" ".$sel.">";
        $ris = $ris.$this->leggi($i,$nome)."</option>\n";
      }

      if($metodo){
        echo $ris;
        return true;
      }else{
        return $ris;
      }
    }else{
      return false;
    }
  }


  function getlast_id(){
    return @mysql_insert_id($this->db["connessione"]);
  }

  function leggi($numero_riga,$nome_campo){
    return @mysql_result($this->db["risultato"],$numero_riga,$nome_campo);
  }


  function righe(){
    $this->db["righe"] = @mysql_num_rows($this->db["risultato"]);
    return $this->db["righe"];
  }

  function affected_row()
  { 
    return @mysql_affected_rows($this->db["connessione"]);
  }
}
?>
quando dal modulo non effettuo nessuna scelta (campi vuoti)
vorrei avere l'intera lista invece visualizzo il messaggio di errore
"Nessun utente attivo in archivio".
Come mai?

Volevo scrivere una funzione a parte ma mi sono accorto che mi serve il pezzo di codice
che affianca al nome e cognome il link che riporta alla pagina personale di ogni persona
con i dati completi e non so come integrarlo (agenda.php).
Mi aiutate allora?
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2004, 14:30   #12
fabio_tarantino
Member
 
Iscritto dal: Nov 2002
Messaggi: 160
Intanto correggi queste cosette:

1) nel file ricerca.html
devi chiudere il tag select
chiudi due volte il tag form

2) nel file index.php

ma che è: if($rep&&$cognome!="") ??
Non mi dire che php permette questa sintassi!!
Io riscriveri in: if ( ($rep != "") && ($cognome != "") )

Anche questo: elseif ((empty($rep)) && (empty($cognome)))
lo riscriverei in else (e basta tanto con i rami precedenti hai risolto tutti i casi)
fabio_tarantino è offline   Rispondi citando il messaggio o parte di esso
Old 16-05-2004, 10:41   #13
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3958
ho risolto! ho dovuto cambiare il codice.
Però adesso, volendo strafare ho aggiunto nel modulo di ricerca
due nuove scelte:
selezione delle persone che hanno uno stipendio compreso
tra un tot minimo e un tot massimo
nel file index ho aggiunto questo (non so se la sintassi è corretta, vado a tentativi il più delle volte!!)

elseif(($inf!=""&&$sup!="")&&((empty($rep)) && (empty($cognome))))
{
$tutto = "SELECT * from rubrica where stipendio >= '$inf'and stipendio <= '$sup'";
}

il fatto è che se elimino gli altri elseif il codice sopra fa il suo dovere
altrimenti non viene considerato.
Io vorrei però che tenesse conto sia che la scelta sia fatta solo per stipendio sia che sia fatta per stipendio, reparto oppure cognome.
Mi spiego:

le persone del reparto Officina che hanno uno stipendio tra totmin e totmassimo.
Capito?

grazie
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 16-05-2004, 12:03   #14
fabio_tarantino
Member
 
Iscritto dal: Nov 2002
Messaggi: 160
if ( ($rep != "") && ($cognome) ) {

if ( ($inf != "") && ($sup != "") ) {

$sql = "SELECT * FROM rubrica WHERE ((stipendo>=$inf) AND (stipendio<=$sup)) AND (cognome='$cognome') AND (reparto='$rep') ";

}
else {

$sql = "SELECT * FROM rubrica WHERE (cognome='$cognome') AND (reparto='$rep') ";

}


}

elseif ($rep != "")

{

if ( ($inf != "") && ($sup != "") ) {

$sql = "SELECT * FROM rubrica WHERE ((stipendo>=$inf) AND (stipendio<=$sup)) AND (reparto='$rep') ";

}
else {

$sql = "SELECT * FROM rubrica WHERE reparto='$rep' ";

}


}

elseif ($cognome != "")

{

if ( ($inf != "") && ($sup != "") ) {

$sql = "SELECT * FROM rubrica WHERE ((stipendo>=$inf) AND (stipendio<=$sup)) AND (cognome='$cognome') ";

}
else {

$sql = "SELECT * FROM rubrica WHERE cognome='$cognome' ";

}


}
fabio_tarantino è offline   Rispondi citando il messaggio o parte di esso
Old 17-05-2004, 18:44   #15
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3958
grazie!!
già che ci siamo:



Vorrei visualizzare i valori numerici di un campo in ordine decrescente.
Se uso ad esempio l'istruzione "ORDER BY" stipendio ottengo invece
la visualizzazione dei valori ordinati in ordine crescente.
Qual'è l'istruzione che permette di farlo?

Grazie
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 17-05-2004, 19:14   #16
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
DESC dovrebbe essere

MEMBRO DEL GRAN CONSIGLIO DELLE CACCOLE VERDI

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
iPhone Air va in sconto: il nuovo iPhone...
Polaroid Now Gen 3 torna di moda: la fot...
Fallout 76: l'aggiornamento più g...
Prezzo folle per il top OLED da gaming: ...
Un nuovo processo antitrust per Apple in...
Amazon abbassa il prezzo delle AirPods 4...
Due super offerte Amazon: PC Desktop con...
Apple AirTag: il pacchetto da 4 ora a so...
La Cina senza NVIDIA: Moore Threads e Ca...
Un bel portatile potente in offerta: Ace...
Si mimetizza tra due altoparlanti, ma &e...
Clair Obscur Expedition 33: il lancio su...
Ci risiamo, la censura colpisce Roblox: ...
Gli iPhone 17 Pro perdono una funzione d...
Windows 11 non cresce e riduce la sua qu...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v