Da ASP a PHP... movenext? do while not?

paolissimo

Nuovo Utente
4 Gen 2018
16
0
1
Ciao a tutti,
sto cercando di migrare da ASP a PHP e, ad esempio, non trovo l'equivalente di Do While Not o di Movenext.

Ecco quello che devo fare:

dopo aver interrogato mysql con un join tra tabelle (forse fin qui ci sono)

1. se i dati da estrarre sono finiti o non presenti, devo reindirizzare ad un'altra pagina

2. se invece i dati sono disponibili, carico il primo

3. poi il secondo e cosi via in loop sino alla fine dei dati presenti nel campo

Un aiuto sarebbe graditissimo, grazie! :)
 

paolissimo

Nuovo Utente
4 Gen 2018
16
0
1
Grazie Marino51, ho letto e continuerò a farlo, è anche in inglese! ;-)
Completato il punto 1 e il 2, ora devo capire come fare con il punto 3... quanto meno ci provo.
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
se vuoi continuare su questa strada, ti suggerisco di estendere la classe PDO con metodi tuoi
questo ti permette di avere successivamente un codice molto pulito con pochissimi ma facili riferimenti al db
ti posto alcuni dei miei metodi, tutti si appoggiano a "BindParams" e restituiscono "qualcosa"
ai metodi viene passato il testo della query e l'eventuale array con i valori da usare
PHP:
  public function queryS($sql, $params=array())        // return the retrieved dataset
  {
    return $this->BindParams($sql, $params)->fetchALL();
  }


  public function queryM($sql, $params=array())        // return the involved rows counted (insert, update, delete)
  {
    return $this->BindParams($sql, $params)->rowCount();
  }


  public function queryC($sql, $params=array())        // return the retrieved element
  {
    $res = ($this->BindParams($sql, $params)->fetch()); return empty($res) ? "" : current($res);
  }


  public function query($sql, $params=array())        // return $sth, the object for subsequent operation
  {
    return $this->BindParams($sql, $params);
  }


  private function BindParams($sql, $params)
  {
    if($this->AllowLog) $this->MyLog($this->pdoSqlDebug($sql, $params));

    if (substr_count($sql, "?") != count($params))
      $this->MyErr("PDO : incongruenza nei parametri della query -> ".$sql);

    $params = $this->FixSQL($params);

    try { $sth = $this->pdo->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
          $sth->execute($params);
          return $sth; }
    catch(PDOException $e){ $this->handle_sql_errors($sql, $e, $params); }
  }
 

paolissimo

Nuovo Utente
4 Gen 2018
16
0
1
Grazie Marino, molto interessante. Mi sono avvicinato a PHP solo da pochissimi giorni e 10 anni dopo aver appeso al chiodo ASP...
ma mi sta piacendo. Ho moltissimo da imparare e sapere quale strada percorrere è senza dubbio un buon aiuto. Al momento sto facendo in modo che tutto funzioni ma è una bozza su cui tornare non appena avrò acquisito maggiori conoscenze.
Sono come un bambino che muove i primi passi... :)
Mi scontro con problemi banali, ad esempio: volendo separare il codice dall'htlm e di conseguenza, volendo richiamare solo le variabili in php all'interno dell'html, non ho ancora trovato il modo di estrarre tutti i dati di un ciclo while e non solo quelli di una singola riga del db. Beh... oggi qui da me il tempo è brutto, una buona occasione per andare avanti. Buona domenica!
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
utilizzando il metodo "query" del post precedente ed ipotizzando una ricerca, questi sono possibili modi di gestire la lettura sequenziale del risultato
PHP:
$sql = "SELECT * FROM PERIODI with (ROWLOCK) WHERE id_periodo IN( ?, ?, ? ) and id_struttura=?";


print "<br />-------------------- SELECT WHILE : Ritorna il numero e le righe selezionate<br />";
  $sth = $db->query( $sql, array( 11, 13, 15, 2 ) );

  print $sth->rowCount()." record( s ) contati <br />";

  while( $row = $sth->fetch() )
      print $row['id_periodo']."&emsp;".$row['id_struttura']."&emsp;".$row['data_inizio']."&emsp;".$row['data_fine']."<br />";
  print "<br />";


print "<br />-------------------- SELECT FOREACH : Ritorna le righe selezionate<br />";
  foreach ( $db->query( $sql, array( 11, 13, 15, 2 ) ) as $row )
      print $row['id_periodo']."&emsp;".$row['id_struttura']."&emsp;".$row['data_inizio']."&emsp;".$row['data_fine']."<br />";
  print "<br />";


print "<br />-------------------- SELECT FOR : Ritorna le righe selezionate<br />";
  $sth = $db->query( $sql, array( 11, 13, 15, 2 ) );
  for( ; $row = $sth->fetch(); )
      print $row['id_periodo']."&emsp;".$row['id_struttura']."&emsp;".$row['data_inizio']."&emsp;".$row['data_fine']."<br />";
  print "<br />";
ed relativo risultato
upload_2018-1-7_10-5-5.png

buona domenica
 
Discussioni simili
Autore Titolo Forum Risposte Data
P lanciare script asp (o php) da jquery Javascript 1
3_g passaggio sito da ASP a PHP PHP 9
Etinetsrl [Retribuito] - Sviluppatore ASP.net / PHP per piattaforma CMS proprietaria Presentati al Forum 0
T Passaggio da html a PHP/ASP: rischio perdita posizionamento? SEO e Posizionamento 2
S PHP vs ASP.NET PHP 0
G Coesistenza Asp e Php Classic ASP 5
S sito convertito da asp a php SEO e Posizionamento 1
Fransss Programmatore freelance PHP, ASP, MySql Offerte e Richieste di Lavoro e/o Collaborazione 6
S form mail asp, php e flash PHP 9
F Codice php dentro pagina asp Classic ASP 5
A asp, php .... Classic ASP 7
N [collaborazione] programmatore php/mysql asp/sql server Rovigo, Mantova, Ferrara Offerte e Richieste di Lavoro e/o Collaborazione 2
S AIUTOOOOOOOOOOOO!!!!!!!Migrazione da ASP a PHP PHP 1
Z Programmatore php o asp PHP 2
@ Cerco programmatore PHP/ASP (AJAX) Offerte e Richieste di Lavoro e/o Collaborazione 0
S paginazione di xml con asp/php XML 2
F Cercasi collaboratore programmatore PHP ASP per telelavoro Offerte e Richieste di Lavoro e/o Collaborazione 11
C 10GB Free Hosting ASP/PHP/JSP/FTP MYSQL/MSSQL Hosting 0
C 1G PHP, MySQL, cPanel/1G ASP Mssql No post No Ads And free domain Hosting 0
F Cerco Programmatori Php e Asp PHP 0
M PHP o ASP?? PHP 3
A Php & asp PHP 1
M Flash e PHP / ASP Flash 3
L Traduzione asp-->php PHP 6
W passaggio da asp a php PHP 0
P aiuto asp php Classic ASP 6
peppoweb Asp.NET contro Php ASP.NET 2
I asp | includere un file, indirizzo depositato in un db Classic ASP 0
Paolo69 Risolto reCAPTCHA v2 per ASP Classic ASP 0
L Modifica file upload in ASP Classic ASP 2
felino ASP.net MVC: Exception e chiamata AJAX ASP.NET 1
W Rinominare Documenti Con Form Asp Classic ASP 9
G Registrazione utente su pagina asp Classic ASP 14
R Sviluppatore ASP.NET Offerte e Richieste di Lavoro e/o Collaborazione 0
seranto [ASP] Controllare il testo inserito in Textarea Classic ASP 6
F classic asp popolare combo box javascript Presentati al Forum 1
P Passagio dati complessi tra una ASP.NET webapi e Angular ASP.NET 1
A [ASP.Net] Gestire il profilo ADMIN in un progetto ASP NET e pattern MVC ASP.NET 0
P [ASP.Net] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font ASP.NET 4
A [ASP] Confronto tra dati Form e DB Classic ASP 2
A Mantenere la validazione reindirizzandoci su un secondo sito WEb. (ASP.NET) ASP.NET 0
StephenSoftware [ASP.Net] Pagina Master ed eventi... ASP.NET 0
K [ASP] Visualizzare nome del file selezionato Classic ASP 3
S [ASP] rubrica telefonica Classic ASP 2
M MySQL e classic ASP Classic ASP 5
D [ASP] Eliminare gli zeri che nn servono Classic ASP 1
G [ASP] Ciclare i valori di 2 array Classic ASP 2
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
S elimina record sql asp classic Classic ASP 5
D [ASP] Autocomplete cerca su 2 campi del db Classic ASP 1

Discussioni simili