извиняюсь за тупой вопрос, просто как-то раньше необходимости работы с БД не было, а тут понадобилось. гугл вроде всё понятно объясняет, но вот ни как не могу найти ответ на вопрос Как можно вывести все значения последней строки в таблице ?
MySql: SELECT * FROM `tbl` ORDER BY `tbl`.`id` DESC или SELECT * FROM `tbl` ORDER BY `tbl`.`id` DESC LIMIT 0, 1 или считать все строки и выводить последнию через SELECT * FROM `tbl` WHERE id = $last_num ;
попробуй сделать обычный запрос как будто выводишь первую строку и поставь в коде DESC P.S опередили =)
Значит, дан многомерный массив, содержащий в себе породы собак: PHP: Array ( [0] => Array ( [id] => 6748 [name] => Акита-ину [popularity] => 2 [listings_count] => 0 [kirname] => akita-inu ) [1] => Array ( [id] => 6722 [name] => Американский бульдог [popularity] => 3 [listings_count] => 0 [kirname] => amerikanskij_bulqdog ) [2] => Array ( [id] => 6711 [name] => Английский бульдог [popularity] => 4 [listings_count] => 0 [kirname] => anglijskij_bulqdog ) .................. ) Как этот массив отсортировать так, что бы элементы (а именно 'подмассивы'), содержащие [name] => Дворняжка маленькая, [name] => Дворняжка средняя и [name] => Дворняжка крупная, шли первыми в этом массиве? Вроде, надо как-то через usort, но не получается..
Architek86 Если нужно отсортировать по полю name по алфавиту - то так: PHP: $input = array( array('id'=>6722, 'name'=>'Американский бульдог','popularity'=>2,'listings_count'=>0,'kirname'=>'amerikanskij_bulqdog'), array('id'=>6748, 'name'=>'Акита-ину','popularity'=>2,'listings_count'=>0,'kirname'=>'akita-inu'), array('id'=>6711 , 'name'=>'Английский бульдог','popularity'=>2,'listings_count'=>0,'kirname'=>'anglijskij_bulqdog') ); function cmp($a,$b) { return strnatcmp($a['name'],$b['name']); } print_r($input); usort($input,'cmp'); print_r($input); З.Ы. Ваше задание не совсем понятно, входной массив дан один, а, когда говорите про отсортированный - уже другие имена
кароче вот весь код PHP: <?php $myFile = "form.txt"; if ($_GET) { $fh = fopen($myFile, 'w+') or die("can't open file"); $stringData = $_GET['name']."\n"; fwrite($fh, $stringData); fclose($fh); } else { $fh = fopen($myFile, 'r'); $theData = fread($fh, filesize($myFile)); fclose($fh); } ?> <p>Hello <?php if (isset($_GET['name'])) { echo ' '.$_GET['name']; } ?></p> в файл записывает, а так не выводит что за бред?кривые руки?
SaiRus, Кривые =) $stringData = $_GET['name']."\n"; присваиваем переменной $stringData = полученную из урл ?name if (isset($_GET['name'])) { echo ' '.$_GET['name']; } Дальше думаю понятно =) Или меняй местами $_GET['name'] = $stringData."\n"; Или проверяй и выводи $stringData И я кстати не понял зачем этот код if ($_GET) - к чему это? И вообще что он проверяет? глобальную переменную GET не врет ли она
в принципе верхний код мне нахер не нужен это пример автора LightWindow я не могу понять, почему он переменной $stringData присваивает и выводит ее в файл к примеру, а когда я напрямую вывожу эту переменную он ее не выводит....
Короче я не знаю зачем этот код, но думаю вот так должно работать и пишет и выводит... PHP: <?php $myFile = "form.txt"; if(isset($_GET['name'])) { $fh = fopen($myFile, 'w+') or die("can't open file"); $stringData = $_GET['name']."\n"; fwrite($fh, $stringData); fclose($fh); } else { $fh = fopen($myFile, 'r'); $theData = fread($fh, filesize($myFile)); fclose($fh); } ?> <p>Hello <?php if(isset($_GET['name'])) { echo ' '.$_GET['name']; } ?></p> Работает так you_file.php?name=Putin p.s Только что понял что от плохого кода появляются плохие мысли и рождают еще худший код
мда...ребят...и что если подставил проверку на "не нуль" типа суть поменялась... если тот код был говнокодом, то вот еще говнокод в квадрате, из этой формы данные передаются в тот говнокод и тут гета как видно нету и обрабатывается все скриптом, только не понятно почему данные только в файл записывает и приходиться от туда дергать, а кроме файла с ними ни как не получается аппирировать.... Code: <form id="sample-form" name="sample-form"> <input id="name" name="name" type="text" value="What is your name?" /> <a href="hello.php" params="lightwindow_form=sample-form" class="lightwindow_action" rel="submitForm"> <button>Submit</button></a> or <a href="#" class="lightwindow_action" style="color: blue;" rel="deactivate">Cancel</a> </li> </ul> </form> но все равно спасибо за терпение...говнокод ведь ни каждому под силам читать PHP: <?php $myFile = "form.txt"; if (isset($_GET['name'])) {$fh = fopen($myFile, 'w+') or die("can't open file"); $stringData = $_GET['name']."\n"; $theData = $stringData; fwrite($fh, $stringData); fclose($fh); } ?> <p>Hello <?php if (isset($theData)) {echo ' '.$theData; } ?></p> в этом случае он вписывает в файл, а $theData не выводит
Гет тут типа через хитро завязанные на узелок яйца PHP: <a href="hello.php" params="lightwindow_form=sample-form" class="lightwindow_action" rel="submitForm"> Вот так вот правильнее Отправляем: PHP: <form id="sample-form" name="sample-form" action="script.php" method="get"> <input id="name" name="name" type="text" value="What is your name?" /> <input type="submit" value="К скрипту" name="send" ></form> Принимаем в файл script.php PHP: <?php $myFile = "form.txt"; if(isset($_GET['send'])) { $fh = fopen($myFile, 'w+') or die("can't open file"); $stringData = $_GET['name']."\n"; fwrite($fh, $stringData); fclose($fh); } else { $fh = fopen($myFile, 'r'); $theData = fread($fh, filesize($myFile)); fclose($fh); } ?> <p>Hello <?php if(isset($_GET['name'])) { echo ' '.$_GET['name']; } ?></p> Ничего не понял... Тут работа с классом и что в нем хз... По тому что есть могу сказать что ты создаешь объект, отключаешь в нем киширование, что то еще делаешь =) А дальше выводишь шаблон... Я не знаю что ты хочешь сделать, я думаю сократить код, тогда в классе допиши метод чтобы он просто вызывал display типа PHP: public function ddd($header,$content,$menu,$footer) { $return = display($header.".tpl"); $return .= display($content.".tpl"); $return .= display($menu.".tpl"); $return .= display($footer.".tpl"); return $return; } И делай так $tpl->ddd(header,content,menu,footer);
KaMiKadZe тогда хитро завязаные в узилок яйца, которые чувак вязал с 2007 года и до сих пор вяжет мне надо будет связать до середины августа а про метод и актион я вроде секу...
PHP: /* Не работает :( */ if($_GET['id']) { if (!preg_match ("/^[0-9]$/i" , $_GET['id'])){exit;} } у меня есть ссылка вида page.php?id=287201 Параметр id принимает только значения rand(0,7777777), выше указанный код не корректно работает, при любых значениях id скрипт продолжает работать
вместо PHP: if (!preg_match ("/^[0-9]$/i" , $_GET['id'])){exit;} Делаем PHP: if (!is_numeric($_GET['id'])) {exit;} Твой код неоднозначный, он возвращает не true или false, а число значений найденных...
PHP: /* Работает */ mysql_query("INSERT INTO comments (date) VALUES (NOW())"); /* Не работает :( */ mysql_query("INSERT INTO `comments` (`date`,`bla`) VALUES ('".NOW()."', ".addslashes($bla)."')") or die(mysql_error()); //line 9 Fatal error: Call to undefined function NOW() in comments.php on line 9
PHP: $time = date('Y-m-d G:i:s'); //или твой формат даты $bla = $_POST['pic']; mysql_query("INSERT INTO `comments` (`date`,`gallery`) VALUES ('" . $time . "', ".addslashes($bla)."')") or die(mysql_error()); //line 9 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 '')' at line 1
У тебя now() исполняется как функция php =) PHP: mysql_query("INSERT INTO `comments` (`date`,`bla`) VALUES (NOW(), '".addslashes($bla)."')") or die(mysql_error()); //line 9 NOW() - функция MySQL и её нужно брать без кавычек =) Если хочешь в PHP генерировать дату, то PHP: $time = date('Y-m-d G:i:s'); //или твой формат даты mysql_query("INSERT INTO `comments` (`date`,`bla`) VALUES ('" . $time . "', '".addslashes($bla)."')") or die(mysql_error()) p.s. ты забыл кавычку открывающую перед аддслешс =) p.s.s. я обновил