Sencha Touch List da MySQL
Seguendo la segnalazione di Ivan (leggi i commenti) ho cambiato i Model in modo da non usare metodi deprecati.
Un ringraziamento a Ivan per la segnalazione.
Facciamo un passo avanti con Sencha Touch.
Oggi vediamo il componente List.
Innanzitutto vi ricordo il link di riferimento: clicca qua.
Se cliccate su List vi verranno presentati già degli esempi di partenza.
Quello che faremo noi è caricare i dati prendendoli da MySQL.
La prima cosa da fare è preparare un file in un linguaggio lato server per interrogare il db.
Io lo faccio in PHP:
<?php
$host = "";
$user = "";
$pass = "";
$db = "";
$conn = mysqli_connect($host, $user, $pass, $db) or die(mysqli_connect_error());
if (mysqli_connect_errno()) {
echo "Connessione fallita: " . die(mysqli_connect_error());
}
$result = mysqli_query($conn, "SELECT * FROM j25_content ORDER BY created DESC LIMIT 20");
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = array(
'id' => $row['id'],
'title' => $row['title'],
);
}
echo json_encode($rows);
mysqli_close($conn);
L'output è in formato JSON e dalla tabella tiro fuori due campi.
Poi preperiamone un altro per estrarre un recordo singolo; dopo capirete il perchè:
<?php
$host = "";
$user = "";
$pass = "";
$db = "";
$conn = mysqli_connect($host, $user, $pass, $db) or die(mysqli_connect_error());
$cmd = "SELECT * FROM j25_content WHERE id = " . $_GET['id'];
if (mysqli_connect_errno()) {
echo "Connessione fallita: " . die(mysqli_connect_error());
}
$result = mysqli_query($conn, $cmd);
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = array(
'title' => $row['title'],
'fulltext' => utf8_encode($row['fulltext'])
);
}
echo json_encode($rows);
mysqli_close($conn);
La List la metteremo in una View in modo che quando cliccheremo su una riga andiamo a vederne il dettaglio.