Witajcie zajmuje się programowaniem hobbistycznie już od jakiegoś dłuższego czasu, jednakże php, mysql dopiero co poznaje. Postanowiłem stworzyć sobie aplikację opartą o Arduino, myqla i php. Zadanie stosunkowo proste Arduino łapie temperaturę i wilgotość, a następnie wyniki umieszcza w BD, a te wendrują do php i na ekran. Udało się bez większego problemu osiągnąć ten cel. W związku z czym podniosłem poprzeczkę - podaje logiczny schemat działania: baza danych "pomiary" -> posiada x tabel -> tabelę mogę utworzyć z przeglądarki poprzez zwykły formularz zmienia się tylko nazwa docelowa tabeli (chodzi o uporządkowanie pomiarów i ich skatalogowanie np. Kowalski, Nowak itp)->po utworzeniu nowej tabeli w mysql w jej wnętrzu tworzą się następujące pola(id, czas, temp stC, temp stF, wilgotność)->po utworzniu nowej tabeli wyświetla się nowa strona na której jest spis dostępnych tabel pobranych z mysql, a następnie obok nazwy każdej tabeli znajduje się przycisk "usuń" oraz "szczegóły". Cały ten cel zrealizowany jednakże teraz chciałbym aby po klinięciu w "szczegóły" dostępne były wyniki indywidualnych pomiarów które generowąły by się dynamicznie na nowej stronie. Dodam tylko, że gdy wrzucam funkcję: print_r($tmp1); otrzymuję następujące wyniki: Array ( [0] => myguests ) Array ( [0] => work ) Array ( [0] => work1 ) Array ( [0] => work12 ) Array ( [0] => work13 ) Array ( [0] => work22 ) Array ( [0] => work25 ) Array ( [0] => work33 )
Logicznie analizując wydaje mi sie że powieniem otrzymywać unikalne wartości w tablicy np: Array ( [0] => myguests ) Array ( [1] => work ) Array ( [2] => work1 ) itd. Wówczas mógłbym oddnieść się do nr tablicy i utworzyć nową generujacą się dynamicznie stornę.
Czy moglibyście podsunać mi jakieś pomysły jak ten problem rozwiązać questionmark.gif? Może troszkę zakręciłem ale jak odpalicie sobie projekt to napewno wykrystalizuje się wam to co chcę osiągnąć.
Poniżej kod całej apki: Formularz
  1. <html>
  2. <head>
  3. <meta charset = "UTF-8" >
  4. </head>
  5. <body>
  6. <form action="engine.php" method="post">
  7. <input type="text" name="nazwa">
  8. <input type="submit" value="send">
  9. </form>
  10. </body>
  11. </html>

"serce" tongue.gif
  1.  
  2. <?php
  3. $nazwa = $_POST['nazwa'];
  4. $link = mysqli_connect("localhost", "root", "", "pomiar");
  5.  
  6. /* check connection */
  7. if (mysqli_connect_errno()) {
  8. printf("Connect failed: %s\n", mysqli_connect_error());
  9. exit();
  10. }
  11. else
  12. {
  13.  
  14. if ($result = mysqli_query($link, "SHOW TABLES LIKE '$nazwa'")) {
  15. /* determine number of rows result set */
  16. $row_cnt = mysqli_num_rows($result);
  17. echo("Ilość tabeli o tej samej nazwie: ".$row_cnt);
  18. if($row_cnt > 0){
  19. //echo "Udało się";
  20. echo '<br />'.'<span style="color:red">'."Error: Wpis o podanej nazwie już istnieje. Zmień nazwę i ponów próbę.".'</span>';
  21. }
  22. else
  23. {
  24. $sql_insert = mysqli_query($link, 'CREATE TABLE '.$nazwa.' (`id` INT NOT NULL AUTO_INCREMENT,`time` timestamp,`sensor1`
  25. float,`sensor2` float,`sensor3` float,PRIMARY KEY (id))');
  26. echo '<br />'.'<span style="color:green">'."Dodano poprawnie nową tabelę o nazwie: ".$nazwa.'</span>'.'<br /><hr />';
  27. }
  28. }
  29. /* close result set */
  30. }
  31.  
  32. echo '<h1>'."Lista baz danych:".'</h1>';
  33. $tmp = mysqli_query($link, "SHOW TABLES from pomiar");
  34.  
  35. echo '<table border="1" cellspacing="2" cellpadding="2">';
  36. echo '<tr><td>Nazwa:</td><td>Usuń:</td><td>Akcja:</td></tr>';
  37. while($tmp1 = mysqli_fetch_row($tmp))
  38. {
  39. echo '<tr><td>'.'- '.'<b>'.($tmp1[0]).'</b></td>';
  40. echo '<td>'."(-)".'</td>';
  41. echo '<td>'."zobacz".'</td></tr>';
  42. print_r($tmp1);
  43. }
  44. echo '</table>';
  45. /* close connection */
  46. mysqli_close($link);
  47. ?>