Изваждане от масив

sle

Registered
Имам 3 масива $links, $pics, $times които сам взел с preg_match_all , как мога ги искарам всички едновременно в страницата? И да ги запиша в базата данни като 3те си вървят заедно при всяко завъртане на цикъла ?
 
$new = array();
array_push($new, $pics, $links, $times);

foreach($new as $k => $v){
echo $k.$v;
}

и ми искарва: 0Array1Array2Array

А като го направя за базатаданни и искарва вмместо снимките някакви странни текстове. Няма ли как всички $pics да отидат в ТАБЛИЦА поле ПИКС така и другите работи ?
relax4o каза:
http://codepad.viper-7.com/gM7Gt2 ето така.
 
Добре бе човек. Ти гледаш ли аз какъв код ти давам или си пишеш наизуст ?
За такива масиви се ползват вложени цикли(цикъл в цикъла).
А тези "странни" текстове са ти сбита информация на всичко това и можеш да го бутнеш в едно поле. Когато изкарваш от това поле, му правиш unserialize() и си извеждаш по същия начин данните.


П.П.

PHP:
foreach($new as $k => $v){
		foreach($v as $kk => $vv){
			echo "Array: {$k} --- Value: {$vv}\n";
		}
	}

къде видя в моя код само един цикъл ? Виж, че има вложен foreach в първия.
 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's candy')' at line 1

Каква е тази грешка. Това е при вкарването на целя масив в таблицата:

foreach($links[0] as $k){
$sql = mysql_query("INSERT INTO `amateur` (`header`) VALUES ('$k')") or die(mysql_error());
}www.allcarsbg.com
 
PHP:
$i = 0;
while($i != sizeof($pics)){ // това е, ако реално и трите масива са с еднаква дължина
	mysql_query("NSERT INTO `test`(`pics`, `links`, `times`)
					VALUES ('{$pics[$i]}', '{$links[$i]}', '{$times[$i]}')");
	
	$i++;
}

Ето ти. Ти си оправи заявката вече, както е при теб.
 
Така ми вкара в 3те полета по 3 неща и пише само ARRAY ARRAY ARRAY

$new = array();

array_push($new, $pics, $links, $times);


$i = 0;
while($i != sizeof($new)){ // това е, ако реално и трите масива са с еднаква дължина
mysql_query("INSERT INTO `table`(`image`, `header`, `time`)
VALUES ('{$pics[$i]}', '{$links[$i]}', '{$times[$i]}')");

$i++;
}

relax4o каза:
PHP:
$i = 0;
while($i != sizeof($pics)){ // това е, ако реално и трите масива са с еднаква дължина
	mysql_query("NSERT INTO `test`(`pics`, `links`, `times`)
					VALUES ('{$pics[$i]}', '{$links[$i]}', '{$times[$i]}')");
	
	$i++;
}

Ето ти. Ти си оправи заявката вече, както е при теб.
 
Ясен си ми. Ти въобще не знаеш какво правиш.

За въвеждането в базата данни използвай разделените масиви ($pics, $links и $times), а за извеждането ползвай новия масив $new.
 
Добре направих го така и пак не свата вкарва ми полета ARRAY.
Да не би да не става защото дори в PREG_MATCH_ALL това $AS ми е масив ??

PHP:
preg_match_all('/<img id=\"thumb[0-9]+\" src=\"(.+)\" num=\"([0-9]+)\" width=\"160\" height=\"120\"/i', $as, $pics); //SNIMKI

preg_match_all('/<h1><a href=\"(.+)\">(.+)<\/a><\/h1>/i', $as, $links);  //linkove

preg_match_all('/<h2>([0-9]+)<span>:<\/span>([0-9]+)<\/h2>/i', $as, $times); //vreme

$i = 0;
while($i != 5){ 
        mysql_query("INSERT INTO `amateur`(`image`, `header`, `time`)
                                        VALUES ('$pics[$i]', '$links[$i]', '$times[$i]')") or die(mysql_error());
        
        $i++;
}
Нали в цикъла сам ги вкарал като масиви и $I се завърта защо пак го няма??[/php]
 
$as ми е страница взета с $curl. С preg_match_all взимам в друг масив само необходимото.. И сега искам всички $links, $pics и $times да ги запиша в база данни.
 
В трите масива еднакъв брой ли са резултатите ? И я дебъгни с print_r() един от масивите и ми го покажи да го видя. Но предполагам, че така трябва да стане заявката:

PHP:
mysql_query("INSERT INTO `amateur`(`image`, `header`, `time`)

                                        VALUES ('$pics[1][$i]', '$links[1][$i]', '$times[1][$i]')")
 
ето от масив $TIMES какво се случва:
(така не стана пак въвежда ми Array[0]..1...2 пак по полетата)

Array ( [0] => Array ( [0] =>
29:27
[1] =>
04:35
[2] =>
11:48
[3] =>
10:15
[4] =>
05:12
[5] =>
21:48
[6] =>
15:39
[7] =>
02:22
[8] =>
05:15
[9] =>
05:40
[10] =>
07:52
[11] =>
05:02
[12] =>
06:18
[13] =>
05:08
[14] =>
10:20
[15] =>
06:03
[16] =>
09:59
[17] =>
10:00
[18] =>
09:31
[19] =>
05:11
[20] =>
05:19
[21] =>
05:17
[22] =>
11:30
[23] =>
05:34
[24] =>
05:40
[25] =>
09:07
[26] =>
06:17
[27] =>
06:02
) [1] => Array ( [0] => 29 [1] => 04 [2] => 11 [3] => 10 [4] => 05 [5] => 21 [6] => 15 [7] => 02 [8] => 05 [9] => 05 [10] => 07 [11] => 05 [12] => 06 [13] => 05 [14] => 10 [15] => 06 [16] => 09 [17] => 10 [18] => 09 [19] => 05 [20] => 05 [21] => 05 [22] => 11 [23] => 05 [24] => 05 [25] => 09 [26] => 06 [27] => 06 ) [2] => Array ( [0] => 27 [1] => 35 [2] => 48 [3] => 15 [4] => 12 [5] => 48 [6] => 39 [7] => 22 [8] => 15 [9] => 40 [10] => 52 [11] => 02 [12] => 18 [13] => 08 [14] => 20 [15] => 03 [16] => 59 [17] => 00 [18] => 31 [19] => 11 [20] => 19 [21] => 17 [22] => 30 [23] => 34 [24] => 40 [25] => 07 [26] => 17 [27] => 02 ) )
 
а от $pics ми искарва всички картинки като първи array и като 2ри всичките им линкове.. :D с PRINT_R
 
Абе я си дай структурата на таблицата в базата данни.


PHP:
mysql_query("INSERT INTO `amateur`(`image`, `header`, `time`)
                      VALUES ('{$pics[0][$i]}', '{$links[0][$i]}', '{$times[0][$i]}')");

Не е възможно да ти вкарва пак Array.
 
image text latin1_swedish_ci не None
header text latin1_swedish_ci не None
time text latin1_swedish_ci не None

Добре с
foreach($links[0] as $k){
mysql_query("INSERT INTO `amateur`(`header`) VALUES ('$k') ") or die(mysql_error());
}

така стана ще ги вкарам всички с foreach обаче стига до някаде и ми искарва

Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's candy')' at line 1

Каква може да е причината на тоя ERROR ?
 
Като напиша

echo $links[1][0];

ми искарва линка .. като го напиша същото за вкарване в базата данни вътре ми вкарва ARRAY[1] ????
 

Back
Горе