Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP i MySQL]Dzielenie wyników z tabeli na działania php
Forum PHP.pl > Forum > Przedszkole
bladatwarz6
Witam,
Mam tabele TEXT w bazie danych w której znajdują się takie coś:
  1. /komenda1<br>/komenda2<br>/komenda3<br>...


W tej tabeli może znajdować się wiele "komend" a ja potrzebuję podzielić je na zapytania PHP w takiej postaci
  1. $rcon->send_command("/komenda1");
  2. $rcon->send_command("/komenda2");
  3. $rcon->send_command("/...");


Pytanie brzmi jak to zrobić?
IProSoft
Wyciągasz dane z bazy i używasz preg_match_all do znalezienia komend w tekście.
Następnie w petli dodajesz każdą komendę.
viking
var_dump(explode('<br>', '/komenda1<br>/komenda2<br>/komenda3<br>'));
bladatwarz6
Dostałem coś takiego:
  1. array(2) { [0]=> string(26) "/msg bladatwarz6 rcon test1" [1]=> string(26) "/msg bladatwarz6 rcon test2" } array(2) { [0]=> string(26) "/msg bladatwarz6 rcon test3" [1]=> string(26) "/msg bladatwarz6 rcon test4" } array(2) { [0]=> string(26) "/msg bladatwarz6 rcon test5" [1]=> string(26) "/msg bladatwarz6 rcon test6" }


A użyłem takiego skryptu:

  1. $query = "SELECT * FROM shop";
  2.  
  3. if(!$result = mysql_query($query)){
  4. echo 'Nie dokonałeś żadnej płatności<br />';
  5. }
  6. while($row = mysql_fetch_row($result)){
  7. var_dump(explode('<br>', $row[8]));
  8. }


Teraz w jaki sposób mam to zapętlić by to /msg bladatwarz6 rcon test, wstawić do "$rcon->send_command("/msg bladatwarz6 rcon test");"
nospor
explode zwraca ci tablic komend. Teraz zwykly FOREACH po tej tablicy i problem z glowy
bladatwarz6
To mam jeszcze jeden problem
W bazie danych mam coś takiego:
  1. msg $username test


a sktypt wygląda następująco

  1. $code = $_POST['code'];
  2. $type = $_POST['type'];
  3. $id = $_POST['id'];
  4. $username = $_POST['username'];
  5.  
  6.  
  7. if ($money >= $price)
  8. {
  9. $newWallet = $money - $price;
  10. mysql_query("INSERT INTO `logs` SET `date`='$data', `ip`='$TheIp', `username`='".$_SESSION['username']."', `action`='buyWithWallet', `action_what`='$id_safe', `action_details`='$username_safe', `status`='ok', `correct`='$price', `code`=''");
  11. mysql_query("UPDATE `authme` SET `wallet`='$newWallet' WHERE username='".$_SESSION['username']."'");
  12. header("location: ../shop.php?view=buy&id=".$_POST['id']."&feedback=ok");
  13.  
  14. foreach (explode('<br>', $komenda ) as $value)
  15. {
  16. $rcon->send_command($value);
  17. }
  18. }


Problem jest taki że zamiast podmienić $username na to co jest w $_POST['username'] to wysyła to serwera po prostu "msg $username test" a nie jak bym chciał "msg nickPodanyWPost test"
Czy ktoś ma pomysł jak to zrobić by działało?
nospor
A niby z jakiej racji skrypt ma sam w magiczny sposob to podmienic? Chcesz podmiany to uzyj chocby str_replace
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.