Witam wszystkich!
Na początku dodam, że jestem totalnym samoukiem, dlatego zdecydowałem się na stworzenie aplikacji w MIT app inventorze (przyjazny interfejs, układanie api bloczkami, itd.)
Otóż, chciałem stworzyć aplikację, która będzie zbierać trzy pola: imię, miejsowość i prośba.
Posłużyłem się opisem z tego linka aby zbudować coś na ten wzór.
Jako, że mam wykupiony serwer na hekko, tam zamieściłem odpowiednie pliki php, które łączą się z bazą i które mają dodawać i wyświetlać wpisy.
plik dodaj.php
<?php
DEFINE ('DBUSER', 'user');
DEFINE ('DBPW', 'password');
DEFINE ('DBHOST', 's79.hekko.net.pl');
DEFINE ('DBNAME', 'baza');
$dbc = mysqli_connect(DBHOST,DBUSER,DBPW);
if (!$dbc) {
die("Błąd połączenia z bazą danych: " . mysqli_error($dbc));
exit();
}
$dbs = mysqli_select_db($dbc, DBNAME);
if (!$dbs) {
die("Źle wybrana baza danych: " . mysqli_error($dbc));
exit();
}
$id = mysqli_real_escape_string ($dbc, $_GET['id']);
$imie = mysqli_real_escape_string($dbc, $_GET['imie']);
$miejscowosc = mysqli_real_escape_string($dbc,$_GET['miejscowosc']);
$prosba = mysqli_real_escape_string($dbc,$_GET['prosba']);
$query = "INSERT INTO prosby (id, imie, miejscowosc, prosba) VALUES ('$id', '$imie', '$miejscowosc', '$prosba')";
$result = mysqli_query($dbc, $query) or trigger_error("Błąd bazy danych: " . mysqli_error($dbc));
mysqli_close($dbc);
?>
i plik custcsv.php
<?php
DEFINE ('DBUSER', 'user');
DEFINE ('DBPW', 'password');
DEFINE ('DBHOST', 's79.hekko.net.pl');
DEFINE ('DBNAME', 'baza');
$dbc = mysqli_connect(DBHOST,DBUSER,DBPW);
if (!$dbc) {
die("Database connection failed: " . mysqli_error($dbc));
exit();
}
$dbs = mysqli_select_db($dbc, DBNAME);
if (!$dbs) {
die("Database selection failed: " . mysqli_error($dbc));
exit();
}
$result = mysqli_query($dbc, "SHOW COLUMNS FROM prosby");
$numberOfRows = mysqli_num_rows($result);
if ($numberOfRows > 0) {
$values = mysqli_query($dbc, "SELECT * FROM prosby");
while ($rowr = mysqli_fetch_row($values)) {
for ($j=0;$j<$numberOfRows;$j++) {
$csv_output .= $rowr[$j].", ";
}
$csv_output .= "\n";
}
}
print $csv_output;
exit;
?>
interfejs aplikacji wygląda tak:
https://drive.google.com/file/d/1aTw4S_rFVRaIkYKC-Z_2xnUxbVk17ial/view?usp=sharing
a schemat blokowy tak:
https://drive.google.com/file/d/13RCRt11hWlKPC8W5IugmUak-2jFT6s4A/view?usp=sharing
Problem polega na tym, że aplikacja wysyła puste rekordy do bazy danych, a jak edytuje rekordy w bazie to ich nie wyświetla. Sam plik custcsv.php wyśietla dane z rekordów ale tak:
https://drive.google.com/file/d/11kqd2MusjMcYW2LAH7jGJm0dT1OIWV4B/view?usp=sharing
a wolałbym gdyby chociaż robił to jako wpisy jeden pod drugim. Natomiast przycisk w aplikacji już nic nie wyświetla.
Co zrobić żeby api wysyłała dane a nie tylko puste rekordy i jak wyedytować plik custcsv.php aby wyświetlał dane tak jak chcę, czyli
- Zenek, podlasie, ....
- ..., ..., ...
- ..., ..., ...
Z góry wielkie dzięki, a za pomoc stawiam dobrą flaszkę :D
P.S. dodam tylko, że na serwerach hekko mam ustawione przyjmowanie zewnętrznych adresów ip "%" dla baz danych.