Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmienianie danych do mysql
sajborg
post
Post #1





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Siemka musze zmienic jedna kolumne tym usserom których wpisze w input.W input oddzielam ich , czyli input wygląda tak

Kod
ja, marian, ela


i mam takie zapytanie

[php:1:700d0629ec]<?php
$sql="UPDATE user SET team_id='".$HTTP_POST_VARS['team']."' WHERE username IN (".$HTTP_POST_VARS['name'].")";
$db=mysql_query($sql) or Die("Co&para; jest skopane&nbsp;".$sql);
echo 'User został dodany';
?>[/php:1:700d0629ec]

Tylko ze to nie działa bo kazdy usser z input musi byc pomiędzy ' ' jak to zrobic questionmark.gif


--------------------
Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E
___________________________________________________
Go to the top of the page
+Quote Post
Koshin
post
Post #2





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 29.04.2002
Skąd: jesteś?

Ostrzeżenie: (0%)
-----


rozdziel wynik z input na tablice (uzyj explode)

potem stworz zmienna, w ktorej sklad wejda znaki " oraz imiona z input wybrane z tablicy.

chyba o to chodiz, bo do konca nie wiem o co ci chodzi.


--------------------
My czuwamy.eu abyś mógł spać spokojnie
zapasowakopia.pl - myśl zanim będzie za późno.
Go to the top of the page
+Quote Post
sajborg
post
Post #3





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


Ale ja nie wiem ile jest elementów w tablicy sad.gif


--------------------
Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E
___________________________________________________
Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


[php:1:98bcec5a85]<?php

$in = implode("','", preg_split("/[s,]+/", $_POST['name']));
$sql = ".... WHERE cos IN ('". $in ."') ....";

?>[/php:1:98bcec5a85]


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
sajborg
post
Post #5





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

Ostrzeżenie: (0%)
-----


SUper.Nigdy takiego czegoś nie robilem mogł byś mi wytlomaczyc jak to dziala questionmark.gif


--------------------
Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E
___________________________________________________
Go to the top of the page
+Quote Post
Majdan
post
Post #6





Grupa: Zarejestrowani
Postów: 445
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Tomaszów Lubelski

Ostrzeżenie: (10%)
X----


Może TO Ci pomoże.


--------------------
Go to the top of the page
+Quote Post
FiDO
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat
SUper.Nigdy takiego czegoś nie robilem mogł byś mi wytlomaczyc jak to dziala questionmark.gif

Sprobuje smile.gif

1) [manual:dcf78a2024]preg_split[/manual:dcf78a2024]("/[s,]+/", $_POST['name'])
ta funkcja rozdziela dany string (w tym przypadku dane z formularza) na podstawie podanego wyrazenia regularnego, wyrazeniem tym jest tu dowolna ilosc przecinkow i bialych znakow (spacja, tab, enter) wystepujacych po sobie (czyli mozesz podac w formularzu "jeden,dwa , trzy"), ew. zeby zapobiec mozliwosci stosowania kilku przecinkow obok siebie ("jeden,,,,dwa,,,,trzy") moznaby zastosowac wyrazenie "/s*,s*/", co znaczy mniej wiecej tyle co:
dopasuj przecinek, ktory ma przed i za soba dowolna ilosc bialych znakow (w tym i brak takowych)
Wynikiem tej funkcji jest tablica, ktorej elementami sa poszczegolne wyrazy po podziale

2) $in = [manual:dcf78a2024]implode[/manual:dcf78a2024]("','", $wynik_poprzedniego)
To z kolei laczy dowolna tablice za pomoca łącznika podanego w pierwszym parametrze, czyli wynikiem bedzie np. "jeden','dwa','trzy"
Potem jeszcze dodanie granicznych apostrofow i mamy wynik koncowy.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 03:31