@ibrahimodev, bunu aşmanın en iyi yolu sürekli pratik yapmak. İlk başlarda bildiğin dillerde nasıl yaptığını düşünüp başka dillerde bunu deneyeceksin.
bir noktadan sonra zaten aslında o işlemler için o dile has yenilikler olduğunu farkedip onları kullanmaya başlayacaksın.
belkide başlangıç olarak backendi bir kenara bırakıp önce back-end ve front-end'i ayırarak başlayabilirsin.
ön tarafı için react kullanmaya başlayabilirsin, api tarafında php ile hatta lumen kullanıp devam edebilirsin.
bir noktadan sonra react tarafında javascript'e o kadar alışacaksın ki artık backend içinde zamanı geldi deyip kendini denemeye başlayabileceksin.
php'den kurtulmak diyorsan zaten bir dilin çalışma mantığını çok iyi anlamamışsındır, başka bir yazılım diline geçerken zorlanıyorsan yine temel mantığında sorunlar olabilir.
o yüzden tavsiyem önce temelini iyi atman :) sonra stack değiştirmek en fazla syntax farkından ve yeni feature'lara adapte olmaktan ibaret oluyor, döküman okumayıda öğrenirsen bu iş çok daha kolay ilerleyebilir senin için.
nodejs'e geçmek istemenin sebebi mevcut projede phpnin yetersiz gelmesiyse nodejs'in bu konuda yeterli olduğuna neye göre karar verdin? araştırmanı yapıp mı yoksa bir hype var ben de çağın gerisinde kalmamalıyım kafasıyla mı ilerlemeyi planladın.
eğer bunları kendi içinde netleştirebilirsen zaten hangisine ihtiyacın varsa onu kullanırsın eminim
union all kullanabilirsin
SELECT * FROM turkcell
UNION ALL
SELECT * FROM vodafone
UNIAL ALL
SELECT * FROM turktelekom
şeklinde sorgularını birleştirebilirsin.
function post($name) {
if (isset($_POST[$name])) {
return htmlspecialchars(trim($_POST[$name]));
}
}
function formData() {
foreach($_POST as $key => $val) {
yield post($key);
}
}
// post alıdğın yerde bunu çalıştırıp deneyebilirsin.
print_r(formData());
şu videoya bir gözatın
https://www.youtube.com/watch?v=1pxpj0HQz6M
bir de tam olarak anlayamadım soruyu, input'a bir max değer vereceksin, kullanıcı input'a o max değerden daha büyük bir sayı yazarsa boş mu olacak? max. değer neyse onda sabitlense daha mantıklı değil mi.
<span id="main-quantity">0</span> bir de bunu anlayamadım, bunları daha net anlatırsan örnek bir kod paylaşabilirim
@abdullahx gayet yeterli, olmaığı değilde sen yapamamış olabilirsin. basename() dediğinde sadece dosya adını aldığı için belki yolu bulamamıştır.
klasör yapın şöyle olduğunu varsayarak
- index.php
- images
- img1.png
- img2.png
- img3.png
index.php kodların
foreach(glob(__DIR__ . '/images/*.{png,jpg,jpeg,gif,webp}', GLOB_BRACE) as $image) {
echo sprintf('<img src="images/%s" alt="" />', basename($image));
}
php tarafın
<table>
<?
$v1 = $db->query("SELECT * FROM msj", PDO::FETCH_ASSOC);
if ($v1->rowCount() ){
foreach( $v1 as $row ){
$dbGelenDegisken = $row["mesaj"];
?>
<tr>
<td><button onclick="mesajOku('<?=$dbGelenDegisken?>')">Oku</button></td>
</tr>
<? } } ?>
</table>
js tarafın
function mesajOku(msg){
swal(
"Soru Cevabı!",
msg
)
}
şöyle kullanabilirsin
<template>
...
</template>
<script setup>
import { getCurrentInstance } from "vue"
const instance = getCurrentInstance();
// gerektiği yerde
instance.proxy.$forceUpdate();
</script>
kalem = baglanti.cursor()
yerine
kalem = baglanti.cursor(dictionary=True)
şeklinde kullanırsanız kitaplar[0] yerine kitaplar['kitap_id'] şeklinde kullanabilirsiniz.
mevcut bağlantını kapatmadan 2. bağlantıyı yapmayı denedin mi, CURLOPT_COOKIEFILE ile önceki bağlantındaki cookileri gönderirsen normalde sorun olmaması gerekir ekstra bir güvenliği yoksa