PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (19): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец

> Найдено сообщений: 283
foozzi Отправлено: 26 Августа, 2012 - 22:59:04 • Тема: функция выборки из базы • Форум: Вопросы новичков

Ответов: 9
Просмотров: 364
Green пишет:
foozzi пишет:
а отображается при выводе только 1 запись из базы

Ну правильно. Далее через foreach() перебирайте массив, и выводите все записи поочередно. Пример я указал выше. Если Вы так и делаете, то значит в таблице есть только одна запись, которая соответствует условию valid = 1.

все 3 записи имеют значение valid = 1
делаю так
PHP:
скопировать код в буфер обмена
  1.  $views = view();
  2. foreach($views as $data)

вывожу <?=$data['name']?>
foozzi Отправлено: 26 Августа, 2012 - 04:05:39 • Тема: функция выборки из базы • Форум: Вопросы новичков

Ответов: 9
Просмотров: 364
Green пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $view = view();
  3. echo $view['name'];

PHP:
скопировать код в буфер обмена
  1.  
  2. $views = view();
  3. foreach($views as $view)
  4. {
  5.    echo $view['name'], '<br />';
  6. }
  7.  

Notice: Undefined index: name in
ошибочка вышла, не выводит то что в массиве
Цитата:
а зачем жесткую привязку функции делать?

убрал, практиковался
(Добавление)
С этим разобрался, теперь проблема в том, что в самой функции while используется:
PHP:
скопировать код в буфер обмена
  1. function view() {
  2.   $query = mysql_query("SELECT * FROM screen WHERE valid = 1 ORDER BY id DESC LIMIT 10");
  3.   $arr = array();
  4.   while($view = mysql_fetch_assoc($query)) { $arr[] = $view; }
  5.   return $arr;
  6. }

а отображается при выводе только 1 запись из базы
foozzi Отправлено: 25 Августа, 2012 - 23:22:02 • Тема: функция выборки из базы • Форум: Вопросы новичков

Ответов: 9
Просмотров: 364
Есть функция которая возвращает масив с данными из базы:
PHP:
скопировать код в буфер обмена
  1. function &view() {
  2.   $query = mysql_query("SELECT * FROM screen WHERE valid = 1 ORDER BY id DESC LIMIT 10");
  3.   $arr = array();
  4.   while($view = mysql_fetch_assoc($query)) { $arr[] = $view; }
  5.   return $arr;
  6. }
  7.  

в файле шаблона вызывают функцию, потом пытаюсь вывести данные например $arr['name'] но пишет что $arr не определенная переменная, хотя функция возвращает масив, в чем дело?
foozzi Отправлено: 16 Августа, 2012 - 00:27:30 • Тема: Замена данных в таблице mysql • Форум: Работа с СУБД

Ответов: 2
Просмотров: 1860
В общес запрос вида:
PHP:
скопировать код в буфер обмена
  1. mysql_query("INSERT `screen` (`valid`) VALUES (1)");

valid находится последней таблицей, и когда я пытаюсь записать туда другие данные, то есть перезаписать, но создается еще одна отдельная запись в таблице...
foozzi Отправлено: 15 Августа, 2012 - 00:19:49 • Тема: проверка данных с базой • Форум: Вопросы новичков

Ответов: 8
Просмотров: 304
Так что править?
foozzi Отправлено: 14 Августа, 2012 - 05:06:32 • Тема: проверка данных с базой • Форум: Вопросы новичков

Ответов: 8
Просмотров: 304
Stivir пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. $log = $_POST["login"];
  3. $pas = $_POST["pass"];
  4.  
  5. $mdPas = md5($pas); //если пароль в мд5
  6.  
  7. $query="select login,pass,law from table WHERE login='{$log}' AND pass='{$mdPas}'";
  8. $result = mysql_query($query) or die(mysql_error());
  9. $line = mysql_fetch_row($result);
  10.  
  11. if((!strcmp($log,$line[0])) && (!strcmp($mdPas,$line[1])) && (!strcmp($line[2],'admin')))
  12. {
  13.         session_start();                                    
  14.         $_SESSION['admLog'] = $log;
  15.         $_SESSION['admPass'] = $mdPas;                    
  16.         header("Location: adminka.php");//перенаправление,напишите свой адрес              
  17.         exit;                                                
  18. }
  19.  


сделал немного по своему, все равно пишет что у меня нет прав, хотя они есть в поле law
PHP:
скопировать код в буфер обмена
  1. function check_admin()
  2. {
  3.    $login_sess = $_SESSION['login'];
  4.    $query="select login,law from users WHERE login='{$login_sess}'";
  5.    $result = mysql_query($query) or die(mysql_error());
  6.    $line = mysql_fetch_row($result);
  7.    if((!strcmp($login_sess,$line[0])) && (!strcmp($line[1],'admin'))) {
  8.            $_SESSION['law'] = $line[1];
  9.        $_SESSION['adm_loggin'] = true;
  10.    }
  11. }
foozzi Отправлено: 13 Августа, 2012 - 13:06:18 • Тема: проверка данных с базой • Форум: Вопросы новичков

Ответов: 8
Просмотров: 304
Green пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function check_admin()
  3. {
  4.    $query = "SELECT * FROM `users` WHERE `id` = 1";
  5.    $result = mysql_query($query) or die(mysql_error());
  6.        
  7.    if(mysql_num_rows($result) > 0)
  8.    {
  9.        $row = mysql_fetch_assoc($result);
  10.                
  11.        if($row['law'] == 'admin')
  12.        {
  13.            $_SESSION['law'] = $row['law'];
  14.            $_SESSION['adm_loggin'] = true;
  15.        }
  16.    }
  17. }

Где WHERE `id` = 1 - ваше условие. Например, подставьте туда сессию, где храниться имя пользователя, или его айди...[/quote]

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function check_admin()
  3. {
  4.    $login_sess = $_SESSION['login'];
  5.   $query = "SELECT * FROM `users` WHERE `login` = '$login_sess'";
  6.    $result = mysql_query($query) or die(mysql_error());
  7.        
  8.    if(mysql_num_rows($result) > 0)
  9.    {
  10.        $row = mysql_fetch_assoc($result);
  11.                
  12.        if($row['law'] == 'admin')
  13.        {
  14.            $_SESSION['law'] = $row['law'];
  15.            $_SESSION['adm_loggin'] = true;
  16.        }
  17.    }
  18. }


все равно не то что надо, что я не верно делаю?
foozzi Отправлено: 12 Августа, 2012 - 23:59:01 • Тема: проверка данных с базой • Форум: Вопросы новичков

Ответов: 8
Просмотров: 304
OrmaJever пишет:
Вы же выбираете из базы всех пользователей, а проверяете только первого, а он скорее всего админ. Нужно добавить условие в запрос.

как это осуществить? голову поломал уже, даже циклами пробовал
foozzi Отправлено: 12 Августа, 2012 - 03:12:04 • Тема: проверка данных с базой • Форум: Вопросы новичков

Ответов: 8
Просмотров: 304
собственно вот функция которую я написал для проверки прав юзера, то есть если у юзера в колонке law написано admin то доступ есть, а если что то иное соответственно доступа нет, но проблема в том что доступ есть у всех, уже голову поломал...

PHP:
скопировать код в буфер обмена
  1. function check_admin() {
  2. $query = "SELECT * FROM users";
  3. $result = mysql_query($query)
  4. or die("Ошибка при работе с базой: " . mysql_error());
  5. if ($result['law'] == 'admin') {
  6.     $_SESSION['adm'] = $result['law'];
  7.     $_SESSION['adm_loggin'] = true;
  8.   }
  9. }
foozzi Отправлено: 09 Июня, 2012 - 00:38:22 • Тема: Отдельная страница для каждой записи в БД • Форум: Вопросы новичков

Ответов: 3
Просмотров: 172
etoYA пишет:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `tblname` WHERE `id` = '$id'

?

Спасибо, вроде понял.
Я тут на форуме где то видел отдельную тему по этому поводу, хотелось бы поближе с этим ознакомится
foozzi Отправлено: 09 Июня, 2012 - 00:08:35 • Тема: Отдельная страница для каждой записи в БД • Форум: Вопросы новичков

Ответов: 3
Просмотров: 172
Начал писать галерею скриншотов юзеров, остановился на такой проблеме, все скриншоты выводятся на странице, как сделать для каждой записи отдельную страницу, например site.ru/view.php?id=2 ?
foozzi Отправлено: 01 Июня, 2012 - 15:11:08 • Тема: проверка размеров изображения • Форум: Вопросы новичков

Ответов: 0
Просмотров: 77
Написал код для првоерки размеров изображения, сам еле понял что за чушь сделал, и все же как будет правильно?

мой код:
PHP:
скопировать код в буфер обмена
  1. $getimagesize = getimagesize($_FILES['image']['name']);
  2.         $minsize = list($minwidth, $minheight); // минимальные размеры
  3.     $maxsize = list($maxwidth, $maxheight); // максимальные размеры
  4.         if ($minsize > $getimagesize['3']) {
  5.                 exit('<p>Изображение должно быть более чем' . $minwidth . 'высоты и' . $minheight . 'ширины</p>');
  6.          }
  7.          elseif ($maxsize > $getimagesize['3']) {
  8.                         exit('<p>Изображение должно быть не более чем' . $maxwidth . 'высоты и' . $maxheight . 'ширины</p>');
  9.                    }       
foozzi Отправлено: 13 Мая, 2012 - 23:08:59 • Тема: посылка запроса через определенный промежуток времени • Форум: Вопросы новичков

Ответов: 5
Просмотров: 167
OrmaJever пишет:
а чем крон плох?

где то слышал что без него можно обойтись, а так против него ничего не имею, нужен минимализм
foozzi Отправлено: 13 Мая, 2012 - 22:53:51 • Тема: посылка запроса через определенный промежуток времени • Форум: Вопросы новичков

Ответов: 5
Просмотров: 167
Как послать запрос на другой сервер через определенное время, например каждые 3 дня и принимать ответ от php обработчика? только через cron выполнения?
foozzi Отправлено: 13 Мая, 2012 - 17:35:49 • Тема: где можно глянуть новые новые функции • Форум: Вопросы новичков

Ответов: 1
Просмотров: 87
Столкнулся с траблой, потребовалось переписать один скрипт с sqlite на sqlite3 там функции отличаются таким видом sqlite = sqlite_escape_string, sqlite3 = SQLite3::escapeString
смотрел на php.net, но там половины функций sqlite3 нет

Страниц (19): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB