Изкарване на текст от база данни.

RiddleR

Registered
Дадоха ми да преправям едни неща и стигнах до един проблем и нещо не мога да се справя с него, та ще помоля някой по висш да ми помогне.

Как да изкарам нещо от базата данни, при положение, че това което искам да изкарам е записано по този начин:

[sql]a:1:{s:5:"en_US";s:26:"Среща по мъжки";}[/sql]

Искам да изкарам само : "Среща по мъжки".

мерси.
 
Вадиш си текста в променлива и ползваш preg_match ( http://php.net/manual/en/function.preg-match.php )

PHP:
// kod izvejdasht promenlivata ot bazata primernoo $test

if(preg_match('/\:\"(.*?)\"/',$test,$savpadeniq)) 
{
// izvaden e stringa mejdu kavi4kite 
echo $savpadeniq[1];
}
else
{
// ne e izvaden teksta 
}
Като на променливата $savpadeniq[1] сменяш цифрата за да извадиш от масива точните съвпадения :)
 
PHP:
// kod izvejdasht promenlivata ot bazata primernoo $test



if(preg_match('/\:\"(.*?)\"/',$test,$savpadeniq)) 

{

// izvaden e stringa mejdu kavi4kite 

echo $savpadeniq[1];

}

else

{

// ne e izvaden teksta 

}

така ми вади само : en_US

PHP:
a:1:{s:5:"en_US";s:26:"Среща по мъжки";}
 
Моя грешка ! Извинявам се :) Ето получи се :P

PHP:
$test = 'a:1:{s:5:"en_US";s:26:"probaa";}';
if(preg_match('/\;(.*?):\"(.*?)\"/',$test,$savpadeniq)) 

{

// izvaden e stringa mejdu kavi4kite 

echo $savpadeniq[2];

}

else

{

echo " ne e izvaden teksta"; 

}
 
така ми изкарва ne e izvaden teksta


PHP:
$test = '$title';
if(preg_match('/\;(.*?):\"(.*?)\"/',$test,$savpadeniq)) 

{

// izvaden e stringa mejdu kavi4kite 

echo $savpadeniq[2];

}

else

{

echo " ne e izvaden teksta"; 

}
 
Просто ползвай $title

PHP:
if(preg_match('/\;(.*?):\"(.*?)\"/',$title,$savpadeniq)) 

{

// izvaden e stringa mejdu kavi4kite 

echo $savpadeniq[2];

}

else

{

echo " ne e izvaden teksta"; 

}
 
стана, но ми изкарва имената на ????????? utf8_unicode_ci е базата, всичките останали са utf8_unicode_ci и при тях няма проблем.
 
RiddleR каза:
стана, но ми изкарва имената на ????????? utf8_unicode_ci е базата, всичките останали са utf8_unicode_ci и при тях няма проблем.
Дай си кода с който вадиш информацията от базата си !
 
PHP:
<?php 
include "co.php"; 
$connection = mysql_connect($dbhost, $dbusername, $dbpassword) or die("?????? ?? ???? ?? ?? ?????? ??? ?????? ?????1"); 
$db = mysql_select_db($dbname,$connection)or die("?????? ?? ???? ?? ?? ?????? ??? ?????? ?????2"); 
			
$stranici = 20; 
$pageNum = 1; 
if(isset($_GET['page'])) { 
$pageNum = $_GET['page']; } 
$reds = ($pageNum - 1) * $stranici; 
$query = "SELECT * FROM gallery_albums ORDER BY `id` DESC" . " LIMIT $reds, $stranici"; 
$result = mysql_query($query); 


while ($sql = mysql_fetch_object($result)) { 

$title = $sql -> title; 




if(preg_match('/\;(.*?):\"(.*?)\"/',$title,$savpadeniq)) 

{

// izvaden e stringa mejdu kavi4kite 

echo $savpadeniq[2];

}

else

{

echo " ne e izvaden teksta"; 

}

				echo "

тест


";


}

 
$query = "SELECT COUNT(id) AS broi FROM gallery_albums"; 
$result = mysql_query($query); 
$row = mysql_fetch_array($result, MYSQL_ASSOC); 
$numrows = $row['broi']; 
$maxPage = ceil($numrows/$stranici); 
$self = $_SERVER['PHP_SELF']; 
$nstranica = ''; 
for($page = 1; $page <= $maxPage; $page++) { 
if ($page == $pageNum) { 
$nstranica .= "( $page )"; 
} 
else { 
$nstranica .= "<a href=\"/?page=$page\" >$page</a> |"; 
} 
} 
if ($pageNum > 1) { 
$page = $pageNum - 1; 
$pred = "<a href=\"/?page=$page\">Предишна</a>"; 
} 
else { 
$pred = ' '; 
} 
if ($pageNum < $maxPage) { 
$page = $pageNum + 1; 
$sled = "<a href=\"/?page=$page\">Следваща</a>"; 
} 
else { 
$sled = ''; 
} 

echo "<center> ";
echo "


$pred $nstranica $sled



 "; 
echo "</center>";

?>
 
Пробвай така:

PHP:
<?php 
include "co.php"; 
$connection = mysql_connect($dbhost, $dbusername, $dbpassword) or die("?????? ?? ???? ?? ?? ?????? ??? ?????? ?????1"); 
$db = mysql_select_db($dbname,$connection)or die("?????? ?? ???? ?? ?? ?????? ??? ?????? ?????2"); 
                        
$stranici = 20; 
$pageNum = 1; 
if(isset($_GET['page'])) { 
$pageNum = $_GET['page']; } 
$reds = ($pageNum - 1) * $stranici; 
$query = "SELECT * FROM gallery_albums ORDER BY `id` DESC" . " LIMIT $reds, $stranici"; 
$result = mysql_query($query); 


while ($sql = mysql_fetch_array($result)) 
{ 

	$title = $sql['title']; 
	if(preg_match('/\;(.*?):\"(.*?)\"/',$title,$savpadeniq)) 
	{
		echo $savpadeniq[2];
	}else{ echo " ne e izvaden teksta"; }

}

 
$query = "SELECT COUNT(id) AS broi FROM gallery_albums"; 
$result = mysql_query($query); 
$row = mysql_fetch_array($result, MYSQL_ASSOC); 
$numrows = $row['broi']; 
$maxPage = ceil($numrows/$stranici); 
$self = $_SERVER['PHP_SELF']; 
$nstranica = ''; 
for($page = 1; $page <= $maxPage; $page++) { 
if ($page == $pageNum) { 
$nstranica .= "( $page )"; 
} 
else { 
$nstranica .= "<a href=\"/?page=$page\" >$page</a> |"; 
} 
} 
if ($pageNum > 1) { 
$page = $pageNum - 1; 
$pred = "<a href=\"/?page=$page\">Предишна</a>"; 
} 
else { 
$pred = ' '; 
} 
if ($pageNum < $maxPage) { 
$page = $pageNum + 1; 
$sled = "<a href=\"/?page=$page\">Следваща</a>"; 
} 
else { 
$sled = ''; 
} 

echo "<center> ";
echo "


$pred $nstranica $sled



 "; 
echo "</center>";

?>

сменил сам тук

PHP:
while ($sql = mysql_fetch_array($result)) 
{ 

	$title = $sql['title']; 
	if(preg_match('/\;(.*?):\"(.*?)\"/',$title,$savpadeniq)) 
	{
		echo $savpadeniq[2];
	}else{ echo " ne e izvaden teksta"; }

}
 

Back
Горе