SQL запрос обрезки строки. Или PHP скрипт.

123
ne0n91
На сайте с 28.03.2011
Offline
58
#11

SEO-MAN, в php есть регулярные выражения, можно с их помощью привести ваши данные в нормльный вид, я выше писал уже цикл перебора, определитесь с символами которые надо удалить и что еще вам надо с ними сделать и напишите, помогу с регуляркой.

Так же регурярки есть в mysql.

SEO-MAN
На сайте с 25.06.2007
Offline
187
#12
softrix:
Так у Вас в таблице в столбце user.username есть вообще такой набор символов "•" ?

Да, я об этом написал же.

Форум сео (http://forum-seo.net) для новичков автоматическая регистрация в 30000 каталогах за 5$ (/ru/forum/157861) Нужна доработка 2 досок объявлений - avtopmr.net, pmrdom.com (вип объявления и удаление дублей)
SEO-MAN
На сайте с 25.06.2007
Offline
187
#13

ne0n91 - Огромное спасибо за регулярку в личке!

SEO-MAN
На сайте с 25.06.2007
Offline
187
#14

еще проблема.

$file_arr - массив с 5-10 именами, а в $uname - 1 имя.

for ($i = 0; $i < count ($file_arr); $i++) {

//if (strcmp($file_arr[$i],$uname)==0)

if ($file_arr[$i] == $uname)

{echo $uname." === ".$file_arr[$i]."<br><br>";}

else{echo $uname. " <<<>>>> ".$file_arr[$i] . "<br>";}

}

Не могу понять почему, но к примеру в массиве $file_arr есть Deja Vu, а сравнение не катит....

Deja Vu <<<>>>> Deja Vu

Но корректно работает только сравнение с последним эллементом массива $file_arr.

ne0n91
На сайте с 28.03.2011
Offline
58
#15

Для перебора массива я бы использовал foreach, удобнее:

foreach($file_arr as $val){
if($val==$uname){
echo '"'.$val.'" === "'.$uname.'"<br>';
} else {
echo '"'.$val.'" <<>> "'.$uname.'"<br>';
}
}
SEO-MAN
На сайте с 25.06.2007
Offline
187
#16

Да цикл точно перебирается, вот почему-то значения $file_arr[$i],$uname неравны где они реально равны...

Вот к примеру $file_arr:

Amelia

Bella Donna

Вася

Deja Vu

Оля

И отображается верно только

Оля === Оля

ne0n91
На сайте с 28.03.2011
Offline
58
#17

Покажите больше кода, от обьявления массива и переменной uname до цикла.

SEO-MAN
На сайте с 25.06.2007
Offline
187
#18

$file_arr = file("text.txt");

$sql = mysql_query("SELECT * FROM `user` ....

while ($row = mysql_fetch_array($sql))

{

$uname = $row['username'];

for ($i = 0; $i < count ($file_arr); $i++) {

//if (strcmp($file_arr[$i],$uname)==0)

if ($file_arr[$i] === $uname) // ТУТ НЕ ВСЕГДА СРАБАТЫВАЕТ СРАВНЕНИЕ

{echo $uname." === ".$file_arr[$i]."<br><br>";}

else{echo $uname. " <<<>>>> ".$file_arr[$i] . "<br>";}

} ....

ne0n91
На сайте с 28.03.2011
Offline
58
#19

Может так подойдет, ищет значение в массиве, в случае удачи получает ключ, в случае неудачи получает false:

while ($row = mysql_fetch_array($sql))
{
$key = array_search( $row['username'], $file_arr );
if( $key ){
echo $row['username']." === ".$file_arr[$key]."<br><br>";
} else {
echo "Не найдено соответствие ...<br>";
}
}
SEO-MAN
На сайте с 25.06.2007
Offline
187
#20

Нет не помогло. Почему-то строки только с последней записью совпадают...

Может если я беру с текстового файла построчно

$file_arr = file("text.txt");

то у строк кроме последней есть скрытый символ переноса строки?

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий