Modifica parametro mysql_result($result, $i, 'id') Deprecato dal 5.5

micha93

Nuovo Utente
18 Apr 2016
12
1
3
Salve come da titolo volevo chiedermi un aiuto in quanto con mysqli dal 5.5 la funzione mysql_result che permette di incorporare gli indici nel mio caso per gestire array in piu pagine dinamiche php è stata deprecata . Consigli su come sostituirla mantenendo le stesse funzionalita?

da notare che :
PHP:
$result = mysqli_query($connessione, "SELECT * FROM players");
        $total_results = mysqli_num_rows($result);

sono aggiornati correttamente .. il problema è poi la generazione della tabella con il seguente codice :
PHP:
echo '<td>' . mysql_result($result, $i, 'id') . '</td>';




Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
        <title>Visualizza Record</title>
</head>
<body>
<?php
/*
        VIEW-PAGINATED.PHP
        Visualizza tutti i dati della tabella 'players'
        Questa è una versione modificata del file view.php che include l'impaginazione
*/
        // connessione al database
        include('connect-db.php');
        // numero di risultati da visualizzare per pagina
        $per_page = 3;
        // calcola le pagine totali
        $result = mysqli_query($connessione,"SELECT * FROM players");
        $total_results = mysqli_num_rows($result);
        $total_pages = ceil($total_results / $per_page);
        // controlla se la variabile 'page' è impostata nell'URL (es: view-paginated.php?page=1)
        if (isset($_GET['page']) && is_numeric($_GET['page']))
        {
                $show_page = $_GET['page'];
                // mi assicuro che il valore di $show_page sia valido
                if ($show_page > 0 && $show_page <= $total_pages)
                {
                        $start = ($show_page -1) * $per_page;
                        $end = $start + $per_page;
                }
                else
                {
                        // errore - mostra il primo set di risultati
                        $start = 0;
                        $end = $per_page;
                }
        }
        else
        {
                // se la pagina non è impostata, mostra il primo set di risultati
                $start = 0;
                $end = $per_page;
        }
        // visualizza impaginazione
        echo "<p><a href='view.php'>Visualizza Tutto</a> | <b>Visualizza impaginato:</b> ";
        for ($i = 1; $i <= $total_pages; $i++)
        {
                echo "<a href='view-paginated.php?page=$i'>$i</a> ";
        }
        echo "</p>";
        // visualizza i dati in tabella
        echo "<table border='1' cellpadding='10'>";
        echo "<tr> <th>ID</th> <th>Nome</th> <th>Cognome</th> <th></th> <th></th></tr>";
        // loop tra i risultati della query del database, visualizzandoli in tabella
        for ($i = $start; $i < $end; $i++)
        {
                // mi assicuro che PHP non cerchi di mostrare risultati che non esistono
                if ($i == $total_results) { break; }
                // emissione del contenuto di ogni riga in una tabella
                echo "<tr>";
                echo '<td>' . mysql_result($result, $i, 'id') . '</td>';
                echo '<td>' . mysql_result($result, $i, 'firstname') . '</td>';
                echo '<td>' . mysql_result($result, $i, 'lastname') . '</td>';
                echo '<td><a href="edit.php?id=' . mysql_result($result, $i, 'id') . '">Edit</a></td>';
                echo '<td><a href="delete.php?id=' . mysql_result($result, $i, 'id') . '">Delete</a></td>';
                echo "</tr>";
        }
        // chiude la tabella>
        echo "</table>";
        // impaginazione
?>
<p><a href="new.php">Aggiungi un nuovo record</a></p>
</body>
</html>

Vi ringrazio anticipatamente
 
Ultima modifica:

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Ciao,
- prova a controllare se la funzione mysqli è abilitata nel php.ini del tuo db;
- utilizza la funzione new mysqli
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
ecco prova a valutare una cosa del genere:
PHP:
$mysqli = new mysqli('localhost', 'username', 'password', 'nome_database');
 if ($mysqli->connect_error) {
 die('Errore di connessione (' . $mysqli->connect_errno . ') '
 . $mysqli->connect_error);
 } else {
 echo 'Connesso. ' . $mysqli->host_info . "\n";
 }
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
per echo invece prova così:
PHP:
echo '<td> . mysql_result($result, $i, 'id') . </td>';
 

micha93

Nuovo Utente
18 Apr 2016
12
1
3
all inizio del codice non l ho esplicitato c'è un include che richiama un header nel quale ci sono tutti i richiami al file di connessione al db.
Infatti il primo parametro di mysqli_query è la variabile $connessione che richiama un codice simile a quello che mi hai postato :) e fino a qui tutto okei ..
PHP:
$result = mysqli_query($connessione, "SELECT * FROM players");
        $total_results = mysqli_num_rows($result);

Il problema risiete nell ultima parte del codice :
PHP:
for ($i = $start; $i < $end; $i++)
        {
                // mi assicuro che PHP non cerchi di mostrare risultati che non esistono
                if ($i == $total_results) { break; }
                // emissione del contenuto di ogni riga in una tabella
                echo "<tr>";
                echo '<td>' . mysql_result($result, $i, 'id') . '</td>';

in pratica con l upgrade da mysql a mysqli che sto apportando per l'aggiornamento di un catalogo online la funzione mysql_result che mi serve per stampare i dati provenienti dal db gestendo al suo interno un indice che mi fa sapere quanti record stampare prima di cambiare pagina e continuare la stampa Non funziona. La funzione Mysql_result è deprecata infatti e rimossa da PHP 7.0 .. Il problema è gestire questa medesima logica senza
Codice:
mysql_result($result, $i, 'XXXX')
.
Spero di essermi spiegato meglio , ti ringrazio della risposta fulminea..
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
38
Facciamo alcune prove:
incominciamo in questo modo:
PHP:
mysqli_fetch_assoc($result);
fammi sapere se funziona
 

micha93

Nuovo Utente
18 Apr 2016
12
1
3
...

PHP:
for ($i = $start; $i < $end; $i++)
        {
                // mi assicuro che PHP non cerchi di mostrare risultati che non esistono
                if ($i == $total_results) { break; }
             
                 
                // emissione del contenuto di ogni riga in una tabella
               echo "<tr>";
                echo '<td>' . mysqli_fetch_all($result) . '</td>';
             //   echo '<td><a href="file.php?edit=11;id=' . mysql_result($result, $i, 'id') . '">Modifica</a></td>';
             //   echo '<td><a href="delete.php?id=' . mysql_result($result, $i, 'id') . '">Elimina</a></td>';
                echo "</tr>";

Errore : Notice: Array to string conversion in ..\www\root\file.php on line 646
e anche con assoc stesso problema.

Ho trovato ovviamente con (riprendendo dal for (il codice completo è presnete nel primo post ) ) :
PHP:
for ($i = $start; $i < $end; $i++)
        {
                // mi assicuro che PHP non cerchi di mostrare risultati che non esistono
                if ($i == $total_results) { break; }
             
$i=$start;
         while ($i<$end)
           
             {
                echo "<tr>" ;
     
        $row=mysqli_fetch_array($result,MYSQLI_ASSOC);
        echo '<td>'.$row['id']. '</td>';
        echo '<td>'.$row['nome']. '</td>';
        echo '<td>'.$row['cognome']. '</td>';
        ...
        echo "</tr>";
                $i++;
               
        }
}
}

e funziona però se vado su pagina 2 non è presente alcuna riga stampata .. pensi spazio a lei destinato completamnrte bianco
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, secondo me ti conviene cambiare metodo di paginazione : la query dovrebbe essere dinamica ed estrarti solo i risultati della pagian richiesta. Dai un occhiata a questo snippet, nel messaggio #4 c'è una versione in mysqli
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Tabella datagrid con icona di modifica che cambia in base a parametro PHP 0
P modifica colore A Hover link website . WordPress 2
P Modifica con PHP di un node in una sitemap xml PHP 0
C Software modifica sitoweb in tempo reale WordPress 12
G Modifica immagine di sfondo attraverso un bottone PHP 18
L modifica dati. PHP 1
G modifica corretta funzione da eregi() a preg_match() PHP 3
R Modifica codice per l'upload di più file PHP 0
G Modifica testo Photoshop 3
felino Excel: popolare una cella con la data di modifica della riga a cui appartiene Windows e Software 3
felino [Wordpress] Modifica main color del template WordPress 8
M [PHP] Modifica account PHP 3
S [OFFRO] Creazione di programmi per la modifica automatizzata di testi Offerte e Richieste di Lavoro e/o Collaborazione 0
S [OFFRO] Rimozione o aggiunta di Password ai file PDF e opzionalmente loro modifica Offerte e Richieste di Lavoro e/o Collaborazione 2
F [PHP] modifica del body email con checked PHP 8
G Modifica da sito statico HTML a dinamico in Wordpress SEO e Posizionamento 1
Cosina Modifica script textarea jQuery 0
M [PHP] Calcolare costi su modifica orari PHP 4
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
F modifica recensione google Discussioni Varie 2
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Modifica in tabella ultimo id PHP 5
C Pagina fb notifica modifica post Social Media Marketing 1
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
C [Joomla] [HTML] Modifica codice per adattamento app Joomla 18
Daniele_Carrara [Javascript] Modifica input date Javascript 5
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
Andrea1981 [WordPress] [HTML] Help modifica credits nel footer.Tema Customizr. WordPress 5
K [Visual Basic] Stampa e modifica record non funziona più Visual Basic 0
K [ASP.Net] Problema stampa e modifica ms sql ASP.NET 0
K stampa e modifica tabella in php e ms sql PHP 2
Michaelweb93 [WordPress] [HTML] Modifica sezione - pagina sito web WordPress 1
A [PHP] [RISOLTO] Modifica record db da form PHP 11
T [PHP] piccola modifica a script (non mio...) PHP 8
P Cerco programmatore per modifica sito wordpress Offerte e Richieste di Lavoro e/o Collaborazione 4
Z Modifica ricorsiva file html HTML e CSS 3
Trapano [PHP] modifica simultanea di più campi nel db PHP 1
K [CERCO] Programmatore per modifica tema wp Offerte e Richieste di Lavoro e/o Collaborazione 2
U modifica sender-receiver email Posta Elettronica 4
W modifica firma Supporto Mr.Webmaster 20
X modifica contemporanea di record MS Access 6
J [WP] Chiarimenti modifica campo WordPress 0
A Form per modifica record database PHP 9
P Help! modifica script Javascript 11
M Pulsante modifica HTML e CSS 20
A script modifica PHP 1
D Modifica data creazione file in fso Classic ASP 0
J Normativa cookie: modifica cookie choice Javascript 4
W Modifica su invio dati da form PHP 4

Discussioni simili