Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

23.02.2010, 00:58
|
|
Новичок
Регистрация: 25.04.2009
Сообщений: 13
Провел на форуме: 79806
Репутация:
0
|
|
я вытянул 9 картинок с бд и вывел их массивом как разделить на строки/столбцы массив? (вывожу через printf)
|
|
|

23.02.2010, 02:04
|
|
Постоянный
Регистрация: 14.04.2008
Сообщений: 327
Провел на форуме: 584699
Репутация:
69
|
|
Цикл foreach для обхода массивов
Обход массива в цикле в PHP можно организовать при помощи цикла foreach, который имеет следующий синтаксис:
foreach (array as [$key =>] $value)
{
statements;
}
Смысл этого цикла прост: при проходе каждого элемента массива в переменную $key помещается индекс этого элемента, а в переменную $value – его значение. Имена этих двух переменных совершенно произвольны.
Пример:
<?
$car = array("passenger car", "land-rover",
"station-wagon","victoria");
foreach($car as $index => $val)
{
echo("$index -> $val <br>");
}
?>
Как видно из синтаксиса, переменная $key необязательна и может быть опущена
Последний раз редактировалось 0ldbi4; 23.02.2010 в 02:08..
|
|
|

23.02.2010, 03:55
|
|
Участник форума
Регистрация: 27.12.2009
Сообщений: 126
Провел на форуме: 1170081
Репутация:
63
|
|
mailbrush,
дай полный код 
|
|
|

23.02.2010, 04:37
|
|
Познающий
Регистрация: 29.05.2009
Сообщений: 55
Провел на форуме: 807573
Репутация:
7
|
|
mailbrush спасиб разобрался ))
ещё остался вопросик ) можна (точне знаю что можна)  сделать запрос он проверяет если записоваемое значение есть в поле тогда запись не делать )))
Последний раз редактировалось Dark_cracker; 23.02.2010 в 05:23..
|
|
|

23.02.2010, 10:18
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
Помогите нашкрябать скрипт обновления ТЕКСТОВОЙ БД пожалуйста. Вот пример:
Файл 1.dat:
1|Username|UserPass|Email|Status|ETC|90|
2|Username|UserPass|Email|Status|ETC|102|
И так далее,скоко зарегено,стоко тут и будет строк,но мне,например, необходимо обновить эту БД,так как есть люди, которые ничего не сделали,а критат [sensored] вот надо в конце добавить ип каждого участника,но как?
Должно будет выглядеть так:
1|Username|UserPass|Email|Status|ETC|90|10.0.20.54
2|Username|UserPass|Email|Status|ETC|102|10.38.138 .23
И так далее..
|
|
|

23.02.2010, 11:23
|
|
Участник форума
Регистрация: 23.10.2009
Сообщений: 103
Провел на форуме: 289669
Репутация:
7
|
|
Dark_cracker,
PHP код:
$result = mysql_query("SELECT `lalala` FROM `table` WHERE lalala='tratata' ");
$num = mysql_num_rows($result);
if ($num == 1)
{
echo 'Такая запись уже есть';
}
Вместо lalala пиши то поле, которое хочешь проверить.
Также можно писать так:
PHP код:
$result = mysql_query("SELECT * FROM `table` WHERE lalala='tratata' ");
Это будет означать: Выбрать все поля из таблицы table где lalala = tratata.
Вместо table пиши имя твоей таблицы.
Вместо tratata пиши текст, и если этот текст в твоем поле будет, то скрипт выдаст "Такая запись уже есть".
Последний раз редактировалось DiHWO; 23.02.2010 в 11:37..
|
|
|

23.02.2010, 12:10
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Привет, не могу понять как сделать замену чисел
есть массив с числами какие на какие заменять...
PHP код:
$rate_array = array(1=>22,2=>19,3=>16,4=>13,5=>9);
PHP код:
$time = 22;
$time = strtr($time,$rate_array);
На выходе 1919 получается а надо чтобы выводил 22
(заменял число целиком а не каждый символ...)
|
|
|

23.02.2010, 12:15
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Сообщение от DiHWO
Dark_cracker,
PHP код:
$result = mysql_query("SELECT `lalala` FROM `table` WHERE lalala='tratata' ");
$num = mysql_num_rows($result);
if ($num == 1)
{
echo 'Такая запись уже есть';
}
Вместо lalala пиши то поле, которое хочешь проверить.
Также можно писать так:
PHP код:
$result = mysql_query("SELECT * FROM `table` WHERE lalala='tratata' ");
Это будет означать: Выбрать все поля из таблицы table где lalala = tratata.
Вместо table пиши имя твоей таблицы.
Вместо tratata пиши текст, и если этот текст в твоем поле будет, то скрипт выдаст "Такая запись уже есть".
Ага... ла-ла-ла, тра-та-та  Неплохие константы кодера... Во-первых, никто не говорил, что поле `lalala` - уникальное, соответственно может быть несколько записей в таблице с его одинаковым значением. Твой скрипт будет успешно работать только при уникальном значении `lalala`, а если же в таблице будет больше одной записи, то проверка не пройдет и скрипт продолжит свою работу. Дальше, насчет "можно писать так, а можно и так"  - "писать" можно как угодно, а вот запрос должен быть сформулирован конкретно. Если человеку надо проверить существование записи в таблице, то объясни мне, ЗАЧЕМ ему выводить оттуда все данные? Лишний раз нагружать СУБД.
Dark_cracker , юзай
PHP код:
$result = mysql_query("SELECT NULL FROM `tableName` WHERE `fieldName` = 'fieldValue'");
$count = mysql_num_rows($result);
if ($count)
{
#запись есть в БД
} else
{
#записи нету
}
|
|
|

23.02.2010, 13:39
|
|
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме: 3300342
Репутация:
165
|
|
Доброе утро)
Как заставить, записывать данные с новой строки, а не в одну строчку
PHP код:
function logs($con){
$file = "logs/errors.dat";
$fp=fopen($file,"a+");
fputs($fp,$con);
fclose($fp);
|
|
|

23.02.2010, 13:43
|
|
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме: 1442841
Репутация:
63
|
|
senap
PHP код:
$fp=fopen("file.txt", "a");
fputs($fp, $log."\r\n");
fclose($fp);
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|