Autor Zpráva
XolyCZ
Profil
Ahoj, potřeboval bych odstranit z mojeho pole, ve kterém jsou vnořené další jedno z těch vnořených polí, ale podle toho co obsahuje. Ukázka toho pole je taková...

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [Hrac_id] => 35
                    [Nickname] => XolyCZ
                )

            [1] => Array
                (
                    [Hrac_id] => 17
                    [Nickname] => Klacek
                )

            [2] => Array
                (
                    [Hrac_id] => 19
                    [Nickname] => Adis24
                )

        )

    [1] => Array
        (
            [team_id] => 1
            [team_name] => FTW
        )

)

No a já bych potřeboval odstranit to pole 0 v poli 0. V tomto případě vím přesně které to je, ale potom už to bude náhodné, takže by to muselo být podle id. Našel jsem funkci unset, ale nevím jak udělat, aby to vymazalo vždycky automaticky podle ID ze $_SESSION['player_id']. Ví někdo jak na to? Nebo jestli to jde ošetřit přímo v sql dotazu... Předem díky :)
RastyAmateur
Profil
XolyCZ:
Pokud ta data vybíráš z databáze, tak tam bude asi jednodušší napsat to WHERE id != xx. Jinak to pole projedeš přes foreach a zkontroluješ, jestli daný prvek vyhovuje, případně ho odstraníš (třeba tím unset()em)
$array = array(
  array(
    array("id" => 1, "name" => "jedna"),
    array("id" => 2, "name" => "dvě"),
    array("id" => 3, "name" => "tři")
  ),
  array(
    "foo" => "bar",
    "foo2" => "bar2"
  )
);

$id_to_delete = 3;
  
foreach ($array[0] as $key => $val) {
  if ($val["id"] == $id_to_delete) {
    unset($array[0][$key]);
    break;
  }
}
XolyCZ
Profil
RastyAmateur:
Beru to z databáze no a vidíš, tohle mě nenapadlo.. dal jsem tam druhou podmínku k tomu WHERE a funguje to přesně jak jsem chtěl. Děkují

Teď mi tu naskočil ten kód co jsi napsal. Chápu co tím myslíš, ale úprava toho sql příkazu je jednodšší...
WHERE team_id =" . $team_parametrs['team_id'] . " AND Hrac_id !=" . $_SESSION['Hrac_id_online']
RastyAmateur
Profil
Googli mysql injection (doufám, že se to tak jmenuje). Řešením je buď prepared statement, nebo real_escape_string()

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0