JASON Hirschhorn: Tere igaühel nädalal kaheksa. Meil on põnev nädal ees. Te olete tuvi selles viimase paari loengud PHP, SQL, HTML, CSS, nii neli täiesti uut keelt, mis hakkavad asuda ülejäänud seda muidugi. Me ka õppida paar muud keeled enne kursuse lõppu. Aga ikkagi, on ütlematagi selge, et see on väga põnev aeg CS50, nüüd õppinud C, näiliselt, ja on liikudes edasi programmeerimine veebilehed. Nii et see nädal, me ei lähe edasi tuulekeeris ringkäik läbi nelja keeli, mida ma just mainisin, HTML, CSS, PHP ja SQL. Ja loodetavasti, me ei jäta palju aja lõpus lõik rääkida umbes nädala P set ja vastus teie küsimustele kõik on. Igal nädalal samas ressursside nimekiri teid, mis aitavad teil nädalal lahendamist ja läheb üle materjal - kuid sel nädalal eriti nende veebipõhine probleem komplekti on hulk muid ressursse välja seal, et sa tõenäoliselt leida uskumatult kasulik. Mul on neid siin. Ma meilis selle pärast jagu, ja see ka võrgus. Kuid eelkõige on palju suur ressursside seal. Seal on ka mõned mitte nii suur need, nii et olge ettevaatlikud need. Aga see klapp, mul on neli head vahendeid, üks iga keeled, mida saate töö sel nädalal - üks viide fail HTML, viide fail CSS. See siin on PHP manuaal. Nii et selle asemel kirjutades mees ja siis PHP käsk on see, kui sa oleks minna otsida funktsiooni prototüüp ja näiteid ning ka mõned näpunäited ja trikke kasutades PHP funktsioone. Sa seda saiti kasutada sageli, ma kutsun teid, et saada tuttav. See võib olla veidi tehnilised, kuid see Samuti pakub ton ressursside ja näited kõigi funktsioonide ja isegi teised, nagu kuidas kasutada massiive või erinevaid muutujaid. See sait on väga kasulik PHP. Ja siis, SQL, kui sa sukeldusin see nädala probleem kogum, tead et me kasutame andmebaasi. Ja me juurdepääs andmebaasi kaudu suhteliselt kena kasutajaliides. Või see on üks viis, et juurdepääs andmebaasi. Kasutajaliides on nimetatakse phpMyAdmin. On SQL sakk, mida me tulen vaata hiljem täna. Ja sa võid kirjutada oma proovi SQL päringuid teha asju oma andmebaasi ja seejärel käivitage neid päringuid. Ja kui nad on õige, siis see öelda, et see üks on õige. Kui nad õige, siis see ütleme, et see on vale. See on suurepärane koht, et harjutada oma SQL päringuid enne kirjalikult neid oma koodi, et veenduge, et olete on formaat õige. Lõpetuseks veel üks kodulehel siin. See on veebileht, kus saab minna ja vaadata, et veenduda oma HTML-kood on õige. Nii et enne keerates oma püstitatud probleeme Sel nädalal veenduge kõik HTML on kehtiv. Eelmisel nädalal, siis jooksid valgrind, et veenduge, et te ei olnud mälu lekkeid. Sel nädalal, peate veenduge, et kõik Teie kood on kehtiv HTML5. Kui see ei kehti, HTML5, oled hakka punktid maha. Seega veenduge, et - lihtsalt sellepärast, et see toimib, ei tähendab see on täiesti kehtiv. Vii oma kood sellelt veebilehelt enne kui selle sisse Jällegi, siin on kodulehel. Kui teil on mingeid tagasiside mulle meil veel paar lõigud vasakule, ja ma tahan alati seda, mida suudan, et annab teile kõik parimad jagu kogemuse. Niisiis andke mulle teada, kui ma midagi saab teha, et parandada või kui on See, mida te näete, et ma võiks teha paremini. Aitäh, Avi. Pane veebilehel. See oli bike mul oli, kui ma oli, ütleme, neli kodus. See Teenage Mutant Ninja Turtle Jalgrattasõit, juhul kui te ei saa öelda, sest see on natuke udune. Saad seda nüüd ToysRUs jaoks, ma arvan, et umbes 100 $. Aga tunnuseks see bike, mida tahan sa tähelepanu pöörama need siin. Need on abirattad. Siiani olete olnud pihuarvuti kaudu C. Ja me oleme võtnud kaua aega kaks kuud, millele lisandub läbima C. Nende paari keeles me ei kavatse kulutada nii palju aega. Apupyörät tulevad välja. Ja me ei kavatse sukelduda need keelt kiiresti ja liikuda neid kiiresti, mis ei tähenda, et me lihtsalt jäta sind ujumine seal kuidagi toetada ise või välja mõtlema, kuidas neid keeltega. Ma just näitasin teile nimekirja ressursse, mis aitavad teil. Kuid pidage meeles, et PHP on uskumatult sarnaselt C. Me läheme üle täna ja mõned erinevused. Kuid enamasti on ette silmuseid. On kui tingimused. Kui soovite, et lahendada probleem, te ei kavatse kasutada nende kombinatsioon. See on väga sarnane. Loogika peaks olema väga sarnased mida olete teinud minevikus. Mis on tegelikult uus sellel nädalal on süntaks ja kuidas ennast väljendada. Ja sa tahad kirjutada loop, kuid see Võib vaadata natuke erinev. Või soovite luua massiivi, aga see Võib vaadata natuke erinev. Nii et pidage meeles, et edasi liikuda, loogika on väga sarnane sellele, mida olete teinud minevikus. Aga sa oled nüüd läheb kokku puutuda palju uusi süntaks. Ja me ei kavatse sõelub kõik elemendid süntaks. Nii et see on tõesti sinust nuputada, võrgus või kaudu jõuda edasi Arutle või postitada mind või räägid üksteisele, kuidas kirjutada asju PHP ja kuidas kirjutada SQL päringuid ja kuidas kasutada HTML-ja CSS. Aga lihtsalt, et sa tead, see ei ole nii me üritame visata seal jälle ujuda haid. See on see, mida sa tõenäoliselt teha oma lõpliku projekti, kui valite teine ​​keel, nagu IOS ja Eesmärk C, või kui te otsustate alustada programmeerimine tulevikus ja sukelduda teiste keelte nagu Python või Ruby. Sageli, loogika on väga sarnane kõigis nendes keeltes, ja süntaks, mida on teistsugune. Ja see on kuni teile, kui programmeerija, minna kasutada web vahendeid te ja joonis kuidas väljendada, mida sa tead, kuidas väljendada C kas teine ​​keel. Nii et see on hea tava, nii oma lõplik projekt ja jälle mida sa tõenäoliselt teha pärast jätad CS50. Enne kui me edasi liikuda, kas keegi on küsimusi, mida Ma olen teinud nii palju? Suur. Liigume edasi. Esiteks, me räägime lühidalt umbes chmod käsuga. Seda me teeme alguses Teie püstitatud probleeme. Üks esimesi juhiseid sulle, kui sa alla laadida jaotumise kood on muuta õigused failide ja katalooge saate. Kas keegi oskab üksnes oletada või teavad Seetõttu on oluline, et muuta load teatud faile ja katalooge arvutis? Avi - Publik: Siis keegi välja arvatud näed, mida sa teed? JASON Hirschhorn: OK. Nii et kui me tahame panna midagi web ja olete õiguste kogum, mis ainult näed midagi, siis keegi teine ​​ei saa vaata, mida olete loonud. Mida veel? Jah. Publik: Vältida keegi teine, et sa ei taha midagi näha, alates näeme midagi. JASON Hirschhorn: See on tõsi ka. Ilmselt on mõned kood, mis Sa kirjutad, et sa ei tahan inimesi näha. Sa oled ilmselt OK inimestega nägemine HTML ja JavaScript. Aga teie PHP, kolp kood, palju loogika koodi, võibolla asjad, mis salvestab mõned paroolid oma andmebaasi, sa ei pea tahan, et inimesed näevad, et tüüpi teavet. Seega on oluline, et iga faili ja Kataloog loome on õigused kohaldatav, kas me tahame inimesed näha neid failitüüpe ja kataloogid ja pääse neile ja potentsiaalselt isegi muuta. Seega on olemas kolme tüüpi ja õigused. Seal on loetav, mis tähendab, saab lugeda faili või nimekirja kataloogi sisu. Seal on kirjutada luba, mis tähendab, et sa saad muuta või muuda kataloog ja siis täitma luba, mis tähendab, et saate täita fail või mitte, siis võib liikuda kataloog. Nii CD midagi, kui teil on luba tappa, saate liikuda sellesse kataloogi. See on lühike näide. Jällegi, sa oled läinud üle selle aastal lahendamist. Aga ma luua kataloog koos mkdir käsk. Ma neid muuta. Need kaks rida tõesti täpselt sama asi. See, et illustreerida, et süntaks õiguste muutmist, kas sa + x või 711, need on sama. Ootame alla selles kena tabel. Me näeme, et seal on kasutaja load esimene. See oled sina, üksikud ja oma server, mis võib. Ja siis on rühm ja teised. Erinevustega nende kaks on suhteliselt tühine. Nii üldiselt, me ühekordsete need kokku. Aga sisuliselt, et kui meil on fail nimetatakse ka, et me tahame olla võimalik muuta ennast ja et me tahame teised saaks täita, see luba 711. Ja me näeme, et alla siin tabelis. Meil on lugeda, kirjutada ja käivitada. Sest igaüks meist, me tahame olema võimeline tegema neid. Group ja teised, me tahame ainult neil oleks võimalik täita. Kuidas me tõlkida, et arvesse mitmeid luba on läbi binaarne. Nii et kui meil on kolm ones, see on 1 aastal need veerus 1 rühmades veerus 1 neljakäpakil veerus. See 7 seal. Ja see luba 1. See luba on 1. Nii 711 kui on sama nagu annaks ise lugeda, kirjutada ja täita ja kõik teised täitma privileege. See joon siin, me üldiselt siis on lugeda ja kirjutada, kui me luua kataloog. Nii et see rida siin lihtsalt lisab ellu privileege kõigile. Nii et oleks sarnane, et Lisaks sellele, mis meil on, lisades 1, 1, 1 kõigile. Arvestades seda, see on tarbetu lisada lugema ja kirjutama. Aga kui sa lähed kasutada numbreid, sa ei saa lihtsalt lisada midagi. Te kirjutate tahes luba olid olemas ja neid rakendada uute number annad. See oli päris kiire. Kas kellelgi on küsimusi umbes õiguste muutmist? OK. Kui mul on PHP fail, mida lubasid ma tahan, et see on? See on probleem komplekt spec. Nii saab vaadata spec ja siis loe minu vastust. Publik: Sa soovid, et kasutaja on kirjutatavuse õigused. Ja sa tahad kõik muud ei ole midagi. JASON Hirschhorn: Ja mis numbrid on? Publik: 600. JASON Hirschhorn: 600. Nii chmod 600 - kui teil printida PHP fail chmod seda 600. OK. Mul on kataloog. Keegi peale Jeff, Mul on kataloogile. Mis load ma tahan anda selle kausta - ka lahendamist spec paremale alla selle vastuse või eelmine vastus? Ka potentsiaalselt slaidil - Marcus. Publik: For kausta, see on 711. JASON Hirschhorn: 711 - nii kausta soovite anda 711. Sa tahad, et oleks võimalik lugeda selle kausta, kataloogide vahetamist liikuda selles kaustas. Ja sa tahad kõik teised saaks liikumiseks, mis kausta, kuid ei pruugi muuta selle sisu. Aga mitte PHP faili öelda, JavaScript fail? Mis õigused tahame anda seda tüüpi faili? Publik: 644. JASON Hirschhorn: 644 - miks me tahame, et see 644? Publik: Et lasta teised inimesed seda lugeda. Ja sa lugeda või kirjutada. JASON Hirschhorn: Nii õige, igaüks teine ​​ei saa lugeda, et JavaScript fail. Ja sa ei saa seda muuta, lisaks et saaksid seda lugeda. Nii et üks levinumaid vigu inimesed on see probleem, ning nende lõplik projekt, kui see on veebipõhine lõplik projekti, siis ei seadnud vastavad õigused. Ja nad ei saa et näha oma veebilehel. Või konkreetse osa oma veebilehel. Seega veenduge, et te seate load õigesti. Ärge lihtsalt arvestada, et see seda sinu eest automaatselt ära. OK. See oli väike asi, mis me veetsime head aega, nii et võiksime küünte ta. Liigume edasi HTML. Ja jälle need järgmise nelja teemasid, me läheme nende kaudu suhteliselt kiiresti. Nii vastake mind peatada igal aeg, kui teil on küsimusi, kas nad on seotud sellega, mida ma katta või midagi loeng või isegi lahendamist. Peata mind, kui sa pead. Kui me jõuame lõpuks me lihtsalt algus läheb üle probleem komplekti. Nii HTML tähistab Hypertext Markup Language. See ei ole programmeerimise keel. Kõik see on struktuur oma sisu ja ka mõned metaandmed. Nii näiteks, arvatavasti paljud olete kasutanud Facebook varem. Ja saate lisada linke, või siis saab panna link oma staatust. Ja siis märkad, et link alati on kena pilt see ja mingi tekst. Üldiselt, see metaandmed jaoks veebilehel. Ja see on Facebook konkreetsete metaandmete. Ja siis, kui Facebook on lugemisel, et lehele ja sisestades selle link, see otsitakse konkreetseid metaandmed, seega teab, mida pildil näidata, mida pealkirja kuvada, ja mida abstraktne tekst kuvada. Nii saame lisada metaandmete meie veebilehe kasutades HTML. Ja see aitab meil struktuuri sisu, üldiselt, mida me tahame minna kus. Kõik HTML on element. Ja elemente siin - see CS50, tekst on element. Ja see on mõned märksõnad. See on see silt. Ja märkame on hetkel alguses ja seejärel kaldkriips, et sulgemise tag lõpus. Vahel ei ole avatud tag ja tihe tag. Seal on ainult üks asi. Me näeme näiteks, et edasi järgmisele slaidile. Nii et sa ei pea avatud ja tihe tag. Aga seda me ümbritsedes seda CS50 element ankrusilt. Ja sisuliselt neid silte öelda brauser, mida teha eriti element. Nii et taas, CS50 on tekst me lähme vaatama. Ja see saab olema tüüpi ankur. Ankru kasutatakse peamiselt linke midagi. Eriti kui saad juba öelda, et see on Lehele CS50 kodulehel. Järgmise osa tag - või üldisemalt osa sildid atribuute. Ja me näeme siin, et tag on üks atribuut, see href atribuut. Ja nad muuta silt. Tegelikult, kui te lähete üks veebisaidid või viited ma andsin sulle enne või otsida tag online, märkad seal on ton potentsiaali atribuute. See on ilmselt üks ning kõige tavalisem. See ütleb mulle, et luua siduda konkreetse veebilehel. Ja atribuudid tavaliselt on antud, kui mitte eranditult antud, võti-väärtus paare. Nii et siin on võti, href. Ja raha on see siin. Ja mis tulevad mugav hiljem, kui hakkame kasutades mõned raamatukogud meid koodi JavaScript või kirjutada HTML sisu. Oleme sageli läheb - nii nagu me teeks array sulg 0 ja mis annaks meile mingi väärtus. Tulevikus me teeme palju asjad midagi sulg href. Ja see annab meile väärtuse href, või kui me tahame uuendada href klahvi ja seejärel anda see eriline väärtus. Nii nagu massiivid, kus meil oli klahvi 0 või klahvi 1 või klahvi 2 või isegi hash tabelit, noh, oma räsitabeli samuti, siis ilmselt oli - see oli massiiv, nii et võti 0, 1 all, võti 2. See indeks on, saame arvad, et võti. Ja raha on mis iganes hoiti seal. Kõik need omadused on võti-väärtus paare. Ja see on oluline, muutes neid või nende ajakohastamiseks või lisades need hiljem. Lõpuks olete näinud selle struktuuri enne, kuid see on kõige põhi struktuuri HTML leht. Tipus, me öelda, et see on tegelikult HTML. Ja siis on meil avatud HTML tag ja lähedal HTML tag. Nii kõik sees see on HTML. Me näeme pea ja keha. Pea oma dokumenti üldiselt on mis? Kõik oletused, mida sa panna pea? Publik: Paned pealkirja ja stiil. JASON Hirschhorn: pealkiri. See oli hea arvan. Ma võib-olla andis sulle selle. Millised on mõned muud asjad? Me mainitud üks neist, võib minna pähe. Publik: Ta ütles, stiile. JASON Hirschhorn: Styles - nii et kui sa tahad linki JavaScript või isegi CSS, mis sa räägid umbes kui sa räägid umbes stiile. Teise faili, mida soovite linkida sisse väljaspool fail, mis ilmselt läheb peas. Mida veel? Me mainitud paar slaidid tagasi üks neist asjadest, mis HTML teha saab. See võib pakkuda - algab M - Publik: metaandmed. JASON Hirschhorn: Metadata - nii palju metaandmete läheb pea, sest see ei pea tingimata olla osa keha oma koodi. See on üldiselt - on keha sisu, mida keegi ei näe. Ja nii ma just andsin ära vastus minu järgmine küsimus. Kuid keha on üldiselt sisu et läheb kuvata veebilehel. Nagu me näeme, keeruline veebilehed kipuvad segunevad või muuta seda, mida nad panna pea ja keha. Aga üldiselt, pea sisaldab asju et kasutaja ei kavatse ekraanilt. See ühendab teiste failide ja annab metaandmed. Ning arvestades, et keha sisaldab kõike kasutaja saab näha. On aimu, mis see p tag tähendab? Publik: §? Publik: Print. Publik: See ei tähenda, print. Publik: Kas see tähendab, punkt? JASON Hirschhorn: § - nii on see punkt. Ja see p tag, ma oleks võinud lihtsalt kirjutada see ekraanile ja seejärel lisatud reavahetus at lõpuni. Kas keegi teab, kuidas kaasata line break? Publik: PR - JASON Hirschhorn: pr - Publik: Slash pr? JASON Hirschhorn: pr kaldkriipsuga tähistab line break. Aga punktid on spetsiifiline vormingut. Ja me jõuame vormindamine Teiseks, kui me räägime CSS. Aga kõik sees need p silte on mõned vaikimisi vormingu sellega seotud, ilmselt on mõnel vahekaugus eri punktid. Ja see saab olema üks võimalus eristada koodiblokke. Kõik muud tunnused - millised on muud tunnused, mis sa oled näinud? JASON Hirschhorn H1 kaudu h6. h1 kaudu h6, ja mis see on? Publik: See tähistab, kui suur ja julge tähed. JASON Hirschhorn: Õigus, see seisab päises. Ja nii header1 on suur pealkiri. See ilmselt vaikimisi olema julge, suur kirjasuurus, ilmselt keskendunud ekraan, kogu tee alla H6, mis on väiksemas kirjas, vähem rõhutada. Muidugi, saate sisse oled CSS faili või kusagil oma kood, mis - jälle me jõuame, et teine ​​- muuta seda, mis vaikimisi h1 tag on. Kuid pidage meeles, et Chrome, Safari, Firefox, Internet Explorer on kõigil Vaikimisi otsitakse palju Nende standard sildid. Võite jälle alati muuta mida nad näevad. Kõik muud sildid, mis kõik on näinud? Jah - Publik: div kohas. JASON Hirschhorn: div tag - div tag ei ole mingit sisseehitatud vormingus per se, et kasutatakse blokeerimiseks lülitatud erinevat tüüpi koodi. Muid sildid? Jah. Publik: li - JASON Hirschhorn: li - mis li jaoks? Publik: List. Publik: List JASON Hirschhorn: li on loendi elemente. On olemas kahte tüüpi nimekirju. Mis on kahte tüüpi? Publik: Korrastatud ja ebakorrapärane. JASON Hirschhorn: Korrastatud ja ebakorrapärane - nii ul seisab jaoks Tavalise nimekirja. See on, kui sa tahad kuuli punkt nimekirja täppe. Järjestuses on nummerdatud nimekirja. Ja et sa pead tegema, on avatud ul tag ja siis tonni nimekirja elemente ja seejärel sulgeda ul tag. ja see Tavalise nimekirja loomiseks. Me näeme näiteid HTML natuke. Aga enne seda, ma tahan, et CSS. Ja CSS seisab kuhjuvate Style Sheets. Ja see on väga tihedalt seotud HTML, kuid veidi erinev. See aitab teil formaadis kogu sisu et HTML struktuuri. Nii CSS, me üldiselt ei taha stiil iga header või iga Piltide või iga ühe lõigu. Tahame stiilis mõningaid elemente või äkki konkreetne element. Ja kuidas me stiilis konkreetne element on anda see ID. Nii et see on atribuut. See on võti ja väärtus. ID on võti. Logo on väärtus. Ma valisin logo juhuslikult. Ja kui sa annad midagi ID, üldiselt, et tuleks anda ainult et üks element. Ja siis, oma stiili lehel saate stiilis, et eelkõige element, aga sa tahad seda otsima. Kui soovite stiilis arv elemente, võibolla on teatud liiki päised, ainult mõned teie päiseid. Võib-olla on päis ja pilt ja lõikes, et kõik tahavad olla tsentreeritud. Siis saate anda neile rühmadele elementide kogu klass. Ja te võite anda klass konkreetseid stiile. Nii ID ja klassi on kaks võimalust lõhkuda oma kood, siis võite abi olla täpsem, mida stiili. On kolm võimalust, et stiili. Esimene on koos stiili atribuut. Nii et näete, key on stiili. Style väärtus on tegelikult teine ​​oluline väärtus nimekirja. Sel juhul ma valisin üks võti, text-align. Ja ma ütlesin, keskus. Sa võid olla paludes ennast selles punkt, kuidas ma tean text-align. Mida see teeb? See on hea küsimus küsida ja me läheme sinna teine. Nii et üks viis stiilis midagi, lihtsalt anna see stiil atribuut. Teine võimalus stiil on midagi - see on Akshar eelpool mainitud. Võite kasutada stiilis sildid ja pane see pea oma HTML dokumenti. Nii et sa põhimõtteliselt öelda, sisu sees siin on mõned stiil sisu. Ja vormi, mis on see asi, mida tahad stiili ja siis sees looksulg, põhiväärtus paari atribuudid, mida soovite anda et teatud tüüpi element. Lõpuks, ja see on Kõige levinum viis. Ja see on see, kuidas me seda teha p komplekt 7. See on väline stiil lehel. Nii et teil on. Css faili. Ja sees on, näed palju asju, mis näeb välja selline, nime teatud tüüpi element või ID või klass ja siis sees lokkis traksid nimekirja põhiväärtus paari. Muidugi, kui loote väline fail, sa lähed vaja seda - terav hulka, mis oleks olema C analoogia - sinu HTML faili. Nii et teil lisada see kood oma HTML faili. See on faili nimi ja eeldades, et see on samas kataloogis. OK. See oli palju. Ja me nüüd läheb hingata ja vaata mingil ehtsal veebilehel ja avastada seda rohkem. Aga enne kui me seda teeme, kas keegi Küsimuste? Nii et kui sa tahad seda teha koos mind, me saame minna seade. Ja ma valisin CS50 kodulehekülg. Seda saab teha mis tahes veebilehel. Aga miks me ei alustada CS50 kodulehele? Olgem värskendada. Ma tegelikult soovitan sul läheb seda koos minuga, sest see, mida me teeme nüüd saab olema uskumatult mugav teile, mitte ainult P-Set 7, kuid P-Set 8 samuti. Jah. Publik: Kas on võimalik teha märkusi HTML, ilma, kasutades PHP? JASON Hirschhorn: Jah, saate küll märkusi, HTML. Publik: Mis süntaks? Publik: Hüüumärk kriips kriips. Publik: OK. JASON Hirschhorn: Jah. See on süntaks. Võite teha märkusi HTML. Võite teha märkusi PHP. Nagu näete, kommenteerima HTML-i ikka näidata üles, kui me vaatame HTML lähtekoodi koduleheküljel. Nii et see cs50.net. Klõpsates moodsaim brauserid kõige igale lehele, saate vaadata lehe allikas. Teeme et CS50. Ja ennäe imet, me vaata hiiglaslik asi. CS50 tegelikult tundub päris kena. Palju veebilehed ei vaata see kena. Kui te lähete Google kodulehte ja seda avatumaks. See ei tundu see kena. Aga te teate, et tipus - see on selline väike. Teeme sellest suurem. OK. Ülaosas, DOCTYPE HTML, see on tuttav. Siis näeme avatud HTML tag ja pea, siin on kõik Nende meta tags. Ja te näete seda og, ei lähen sinna nüüd. Aga ma olen peaaegu positiivne, et need oleks Facebook. See on tegelikult Facebook. Ma arvan, et seisab avatud graafik. Seega pidage meeles, olin viitavad on Faceboook konkreetsete metaandmete saate anda lehel. See, mis on siinsamas. Nii et kui sa link seda lehte Facebookis, pilt see läheb, et näidata see pilt siin. Ja te tegelikult näha, et see on Facebook, sest see on Facebook pilt. Aga ikkagi, me saame kõrvale. Nii et meil on mõned metaandmete siltidele siin. Näeme CS50 pealkiri. Ja veel, et pealkiri on see, mida läheb siin brauseris tab. Me näeme seda, mis ühendab in siinsamas, Välise JavaScript fail. Me ei ole rääkinud JavaScript palju, kuid järgmisel nädalal - ja kindlasti kui sa teed veebipõhine probleem kogum, teid kasutades JavaScript. See, kuidas sa link välise JavaScript failid. Me näeme siin, lõpuks, CSS laadilehe, mis dokumenteerib need stiilid see kood. Olgem tegelikult selle lahti ja vaatleme tõesti kiiresti. See tundub hull. Ei ole nii, ma oleks võimalik läbi lugeda. Nii et saate tegelikult küll, kui te võtate Vaata, mida saate omamoodi näha, et on - Niimoodi. See näeb välja nagu midagi, mida me oleme näinud enne, taustavärvi, milles ta võrdne mingi punane-roheline-sinine väärtus. See värk justkui ei tundu, et välis-, isegi siis, kui esitatakse niimoodi, see võib olla veidi suur. Me ei kavatse seda vaatama CSS faili või kulutada palju aega, sest see on jällegi üsna raske lugeda. Lähme tagasi selle HTML lehe CS50. Ja olgem kerige keha. Ja sees me näeme seda div tag. Me näeme kaudu siin. Näeme ankrusilt. Ja see nimekiri element on konkreetne klass. Ja me näeme, et klass korduv ikka ja jälle. Seal on Curtis. On kommentaar HTML5. Ja nagu te teate, saame veel näha , kuid see ei näita üles. See on tegelikult väga huvitav. Tundub, et see hinded nimekiri element on välja kommenteeritud. Kui läheme seda lehte uuesti, see ikka Selgub, et nii huvitav. Oh, sellepärast, sest Selle reale. Mida muud me näeme huvi? Ülejäänud see on segane, on tegeleb see õige pool veebilehte, mis on vähe natuke keerulisem. Nii et see on see, mida mõned HTML läheb nägema. Mul kuigi see on veidi valdav, ja see ei aidake mind, et palju. Kuid seal on midagi, mida ei, tegelikult aitab mind palju. Ja see on see, mida ma kasutan, kui ma olen püüab selgitada, kuidas midagi näeb, kuidas ta seda teeb, või kuidas saab Ma teen oma veebilehel. Ja see on arendaja vahend mis on ehitatud Chrome. Nii et kui te lähete seda kolm baari õigus siin ja minna tööriistad kliki Developer Tools, väike aken hüppavad allosas lehekülge. Ja eriti, Chrome, sest see on imeline, vormindab selle akna ja võtma HTML ja muuta see otsima palju kenamaks teile. Nüüd see on tegelikult mõned kokkupandav HTML, mida saate uurida, et kontrollida elemendid lehel. Kui me tahame vaadata keha, ta tegelikult esile. Kui liigute üle osa HTML, alla selles aknas, siis rõhutada osa ta räägib kohta on suur aken. Nii et lubage mul veel kord proovida ja puhu seda natuke. OK. Niisiis olgem avatud keha. Ja ma kerimine üle selle vasaku div. Ja te teate, et see tõstab esile Selle vasakul pool ekraani. Teeme kliki et ja laiendada seda. Sees on, tundub on kaks divs. Seal on see esimene div. Ma ei näe, et esile tõsta. Ma ei tea, aga tundub, et see teine, vasakule sees, on sisu vasakul pool ekraani. Siis on see asi, mida nimetatakse päises. Tundub, et tuuakse esile CS50 osa. Kui me selle lahti, siis näeme, et see on midagi enamat kui header 1. See on andnud ID, ja see on antud tekst CS50. Nii et taas, vaadates seda läbi selle konsool või kasutades arendaja tööriistad pane allosas ekraani abil uurida seda veebilehte loodetavasti palju vähem hirmutada ja palju kättesaadavamaks. Samuti võimaldab see meil mõista, et sellel veebilehel, kuigi see tundub väga ilus ja kena, ei ole nii palju rohkem kui see, mida sa lähed, et olla teeme Ülesanded 7. Ja see on täiesti sees oma võimet luua. Kui me soovime - teine ​​lahe asi, kasutades neid tööriistu, kui te paremklõps pealkirja saab muuta HTML. Nii ütleme Jason. Ja nüüd märkad mind muutnud HTML sellel lehel. Muidugi, ma ei ole muutunud jäädavalt. Kui ma värskendada oma brauseri, siis ei oleks minema tagasi algse HTML. Aga mõnikord ma tahan siluda minu kood, ja ma ei taha vaadata lihtsalt mu gedit aken ja püüda mõista mis toimub. Ma tahan näha, mis juhtub elus. Nii et ma muuta koodi nagu see ja saada see, kuidas ma tahan seda vaadata. Ja siis ma teen muutusi oma kood. Ja ma leian, et see on palju lihtsam kui sa saad teha asju, silmapilkselt, niimoodi. Ütle veel, me tahame teha veel võimalus, sest uurime koos HTML ja CSS praegu. Võin muuta HTML kohe. Ja ma lisada link. Nii et ma lähen muuta CS50 koju leht, nii et see on link - Ütleme - minu kodulehekülg. Mis on nimi, kui keegi meenutab või Mis on atribuut Tahan anda et ankur tab, kui ma tahan see link kusagil mujal? Publik: href? JASON Hirschhorn: href - Nüüd näete, et seal on joonitud alla Jason. See on sellepärast, Chrome, vaikimisi annab ankrud joonitud. Te olete ilmselt näinud seda kui sa oled läinud veebilehele. Asjad, mis on lingid alla joonitud ja sinist värvi. Vaikestiil link on tavaliselt rõhutada ja pane see sinine. Kui mulle ei meeldi, et Ma ei saa seda muuta. Ja me muuta see teine. Aga nüüd ka teate, et kui ma hover üle selle, alumises vasakus ekraani paremal kohal sõna elemendid on link, mis ma andsin see. Nii et kui ma ei kliki seda - ja me saame paremklõps see, avada uus sakk. See ei ole tegelikult minu kodulehele. See on lihtsalt minu nimi. Seal sa lähed. Me oleme nüüd muuta see link. Uurime mõningaid CSS samuti. Ilus asi - ma lähen teha seda natuke väiksem - umbes see konsool on, et hull CSS lehel nägime enne, et see oli tõesti raske sõeluda, on nüüd ilusti paigaldatud meile vasakul servas Selle pane. Nii saame vaadata. Ja kui me laiendada seda stiili tab, me saab näha kõiki erinevaid stiile mis on seotud, sel juhul see konkreetne element, see link element. Kui me seda ühendit stiile tab, et lihtsalt näitab meile, mitte siis, kui kõik pärineb, kuid sisuliselt kõik need stiilid, mis tegutsevad see konkreetne element kohe. Ja ütleme, et me tahame seda muuta natuke. Nii et see on kõik stiilid, mis on tegutsevad selle konkreetse elemendi. Ütle, me tahame seda muuta, sest me tahad näha, kuidas midagi välja. Ja me lihtsalt mängib ümber praegu. Või me tahame testida midagi välja, enne kirjalikult selle koodi ja vajutades see ja muuta see elab. Me ei saa minna stiile tab. Ja esimese kasti see ütleb element.style. Ja siin, saate sisestada, saate lisada midagi. Nii et ma tahan - lähme minu link ja taustavärvi. Ja see tegelikult autofills ta teile kõik võimalikud omadused. Tausta värv ja ma tahan teha, et sinine. Blus ei ole sõna. Sinine on sõna. Kas ma näen seda tulla? Oh, on see, et kuna see on href? OK. Nii et ma ei näe mingit muutust siin. Ja see on, sest kui me esile link, märkad, et link tegelikult ei kontrollseadmed andmed selle konkreetse elemendi. See on tegelikult, kui me avada link, Selle kaudu siin see on kontrollides, kuidas see välja näeb. Nii et kui ma tahan teha tausta sinine, ma tegelikult muuta taustavärvi header element. Ja nüüd me näeme, et taust on sinine. Nii et taas, see kiiresti võib minna läbi selle materjali päris kiiresti. Aga see on sisuliselt mida sa lähed tegema. See on mitte Ülesanded 7, kuid kindlasti, kui oled kodeerimine veebis. OK. Ma tahan teha taustal sinine. Isegi sel juhul sinine tundub päris kole. Ma ei saa minna siia, mängida. Ma näen, et see muuta sinine ei tööta. Ma pean tegelikult muuta header element lisada sinine taustal. Ja siis, kui, siis ma lähen tagasi oma CSS fail, kuidas ma tegelikult seada see taust sinine ja Selle muutuse kinni? Sest kui me märkame, kui ma värskendada lehekülje kõiki muudatusi tegin on läinud. Nii et ma mõistsin, OK, minu taust on sinine. Ma pean minema, et header1 element ja muuta tausta värvi siniseks. Kuidas tegelikult teha, et muutus? Noh, meelde tuletada, et kui me läheme sees siit see header, pealkiri on ID. Ja see pealkiri. Ja nii meie CSS-fail, me ei saa öelda, OK, võtta midagi ID pealkiri ja anna see veel vara. Kuidas me viide midagi ID pealkiri, mis tahes ideid, või keegi teada, kuidas me viide ID meie CSS faili? Hash, see on täpselt õige. Ja sul on vihje, et siin. Nii kusagil see CSS-fail, seal on see rida koodi - # Vasakule # vasakule sisemine # header # title. Ja see annab see marginaal alt määratlemisel marginaal allosas see eriti element. Noh, kui ma tahtsin seda muuta, Ma läheks sinna CSS faili. Ja ma võiks kas leiad selle osa CSS faili. Või ma võiks kirjutada minu enda. Ma võiks teha hash pealkiri lokkis traksidega ja siis taustavärvi koolon sinine semikoolon ja tihe, et lokkis traksidega. Ja see oleks muuta tausta värvi see element siniseks. Põhjusel nad teile nii palju siin on et see on vajalik sel juhul, sest pealkiri on unikaalne ID. Aga mida saate teha, on pesa asjad. Nii et see ütleb, OK, mine vasakule. See on väga väike. Ma vabandan selle eest. Aga minge asi ID vasakule. Toas, et otsida asi ID vasakule sisemine. Toas et vaadata, otsida asi ID kaudu. Toas, et otsida asi ID pealkiri ja muuta ID pealkiri. Nii et see on lihtsalt viis, kuidas pesitsevate asju. Mõnedele inimestele meeldib pesa, sest see muudab natuke selgemaks. Näete siin ka, eks siin pole mingit räsi. See on lihtsalt H1. See on sellepärast, h1 on antud nimi geneerilise tag. Ja seal on mõned CSS omadused seotud iga h1. Nii et kui ma leidsin teise h1 sellel lehel Tahaks ka näha, et see stiil oli kohaldada ka seda. Kui ma tahan taotleda stiili klassis kuidas ma viide klassi või rääkida klassi CSS faili? Publik: Dot. JASON Hirschhorn: On koos dot. Lähme tagasi sellele lehele enne. Kui ma hash ID. See on muutumas stiili asja koos ID. Või vabandust, kui ma hash logo, mis on leida asja ID logo ja andes eelkõige CSS stiili. Kui ma midagi teha. Top, mis on leida kõik koos klassist top ja muutes oma stiili. Kui ma lihtsalt H1, mis leiab iga ühe h1 ja annab talle iganes stiili ma tahan anda seda. Kui ma h1 ruumi ja siis. Top. See läheb kõik h1s ja seejärel kõik need, kellel klassi top ja seejärel muuta ainult neid stiile mida ma tahan anda seda. Ja veel, me oleks võinud kirjutada mõned seda omapead. Aga me ei oleks saanud nii kaugele. Palju parem, tundub tegelikult minna reaalse live kodulehel ja vaadake, kuidas nad teevad seda ja vaatame kõik fantastiline asju saate teha. Vaatame veel üks veebisait enne kui me edasi liikuda. Ja see on üks, et sa ilmselt tundma. See on CS50 Finance. Nii et taas, tegelikult võite minna ja järgida seda CSS faili oma arvuti, sest olete alla laadinud seda CSS faili, kui sa alla laadida lahendamist. Me ei saa minna Tools ja Developer Tools. Ja me näeme palju lihtsam HTML paigutuse. Meil on ülemine, keskmine ja alumine. Ja veel, midagi, mida sa peaksid olema tuttav, sest olete vaadanud kaudu jaotuse kood Selle nädala lahendamist. Ülaosas on iga kood, ühe pildi nn. Ja see on allikas pilt. Ütle Olen lõpetanud kõik, mida Tahtsin võtta Ülesanded 7. Ja see töötab korralikult, kuid Tahan muuta seda, kuidas see välja näeb. Ja ma tahan, et muuta tausta ülemise lehe, näiteks sinine. Kui see nii oleks, ma oleks tulnud siin ja nuputada, OK, mida ma tahan muuta. Vaatame, div ID top, mis näeb nagu lehekülje ülaosas. Nii lähme sinna. Proovime muutmata taustavärvi. Lähme teeme Alice sinine, sest see on parem üks. Ja märkad, et - siis ilmselt ei saa aru. Aga seal on helesinine, koos CS50 logo. Muudame seda hoopis punane. Ja märkad nüüd ma lihtsalt muutunud taustavärv punaseks. Nüüd ma läheks minu CSS fail ja kirjuta # top lokkis paren siin. Näete kood õigus siin, lokkis traksidega. Ja siis ma lisaksin tausta värv, punane. Ja siis, seal oleks olema lokkis traksidega. Nii see on, kui ma uurida ja eksperimenteerida vormingu kohta CS50 Finance kohas. Ma võiksin seda teha siin ja test it out minu brauseris. Ja siis ma võiks minna minu tegelik kood ja tehke muudatused, mis tegelikult minna elama ja inimesed tegelikult näha, kui nad tulevad minu konkreetses kohas. OK. See oli palju. Vabandan läbimas see nii kiiresti. Kas kellelgi on küsimusi üldse umbes HTML või CSS? Publik: Kas sa lihtsalt minna üle, kuidas seotud mis sai Jason, jälle? JASON Hirschhorn: Mis sa mõtlen seotud? Publik: Sa tingimusel link teisele veebileht, kasutades ankur. JASON Hirschhorn: Nii sa küsid, lihtsalt üldiselt, kuidas te teete link? Publik: Jah. JASON Hirschhorn: OK. Kood tegemise link - Publik: Ei, nagu HTML. JASON Hirschhorn: Siin all mõtled? Nii et kui ma tahan, et lisada link kuskil, ütleme, et see on HTML on minu leht siin. See on HTML. Võib-olla on avatud fail index.html. Lähen sisse Teeme seda autoriõigust John Harvard link midagi. Me saame muuta kogu seda HTML. Kõik, mida vaja on hõlmata nii sulg sulg juures algab, ja siis bracket kaldkriipsuga sulg lõpus. Nüüd olen lisanud ankrusilt. Ja tegelikult, kui klõpsate läbi selle, siis nüüd vormindada või muuta, kui HTML. Ja öelda, et me tahame, et siduda see. Me peaksime sind href atribuut. Ja ütleme - Ja nüüd, kui te märkate, autoriõigus John Harvard on sinine. Ja kui ma kerin see on nüüd link. Nii saab kirjutada selle koodi. Võite ümbritseda päris palju midagi soovitud ankrusilt ja keerake seda lingiks. Publik: OK. Arusaadav. JASON Hirschhorn: Ja kui ma ei taha see - muidugi, mõnikord inimesed kalduvad mõelda neid asju, et lihtsalt vaadata sinine üldiselt ja joonitud on ei ilusaim viis teha link. Nii et kui ma tulen siia, siis näeme, et kusagil CSS fail on kirjutanud selle ja siis kaks lokkis traksid. Ütleme, et lingid, ma ei tahame, et nad muutuvad siniseks, pigem ma soovite värvi link olla see kena magenta. Oletame, et see värv. Valime magenta. Nüüd kõik lingid minu lehel on saada see ilus värv lilla. Mõned inimesed ei meeldi värv üldse. Mõned inimesed ei meeldi joonitud. Sa saad valida. Lingid, saate stiil, kuidas nad vaata, kui olete külastanud neid. Nagu märkate, on palju lehti, lingid omakorda lilla teid külastada. Teil on võimalik muuta, et värv samuti. Jah. Publik: Nii et sa seda muuta iga ühe lingi. Aga kui sa tahtsid teha link ise, kas sa lihtsalt teha ID põhja või midagi? JASON Hirschhorn: Nii suur küsimus. Nagu olete märganud siin, ma muutsin mõned osa CSS, mis kehtib kõike, mis on A. Kui ma tahtsin lihtsalt teha link allosas, I läheks minu CSS fail ja ilmselt just nagu sa ütlesid, hash alumine ruum. Ja mis annaks mulle kõik Nagu alt. Või ma võiks alternatiivselt, et see on unikaalne ID ja siis lihtsalt ei räsi link. Ja, mis võimaldaks mul muuta see välja. Kuid just doling ID tahes-tahtmata Üldiselt on halb kasutamist, sest need peaks olema unikaalne. Ja mida rohkem sul on need, see võib saada veidi segane. Jah. Publik: Kas te saate anda sama ID mitu omanikud? JASON Hirschhorn: Tehniliselt jah. Midagi ei kavatse lõpetada, aga te Kas te ei peaks andma see klass. OK, kõik muud küsimused umbes HTML või CSS? OK. Olgem liikuda PHP. Oh, jah. Publik: Mis see on umbes need veebisaidid, mis tähendab, et me saame muuta neid enne me värskendada. Aga kui me värskendada pöördub Tagasi algse HTML? JASON Hirschhorn: Suur küsimus - Nii et kui me oleme laaditud veebilehele, see on HTML. Ja see on JavaScript. Selle PHP täidetakse anda meile kõik tüüpi veebileht näeme. Ja see on loodud mõned HTML, mõned JavaScript ja mõned CSS. Ja see on nüüd kättesaadavad meie arvuti. Ja koopia neid faile salvestatakse kohapeal meie arvuti, praegu. Nii saame muuta, et kohalik koopia. Aga muidugi, me ei toimetamine server koopia. Ja kui me värskenda lehekülge, saame teise serverisse koopia. Ja nii me näeme asju tagasi, nagu nad olid. Kui suutsime, siit, et muuta ametlikul kodulehel, me tahaks olla palju probleeme. Publik: Jah, me saame lugeda ja kirjutada, et koopia. JASON Hirschhorn: Õigus. Me ainult tegemise kohalikke muutusi siin, kuid jällegi väga kasulik uurida, Sageli. Kui ma kirjutan oma lõputöö jaoks Näiteks, ma tahan näha, kuidas mõned kodulehel tehtud midagi vaadata kuidas nad seda tegid. Ma lähen sisse ja kasutage paani alla siin, et vaadata, mida CSS nad andsid või mis värvi nad valisid või kuidas nad sain aru nii, et kui sa tiirles üle midagi, nimekiri tuli kena kuhjuvate mood. See on suurepärane võimalus kontrollida, mida teised veebilehtedel ja neilt laenu. Liigume edasi PHP. PHP tähistab, in rekursiivne mõttes PHP Hypertext Protsessor. Ja PHP, mida ta kavatseb teha ei tee koodi serveripoolne. Nii et me ei saa kunagi näha PHP koodi. Ent see ei mängi ilusti HTML ja sageli tekitab palju HTML koodi. Aga kui sa oled tuttav probleem Set 7, Sinu PHP koodi täidab, genereerida mõned HTML, ja see, mida kasutaja lõpuks nägema. PHP on uskumatult sarnane C. Siiski on paar erinevusi ning need erinevused on oluline märkida. Üks erinevus on see, et muutujad PHP on nõrgalt kirjutatud. Kas kellelgi on tunne mida see tähendab? Publik: Ei ole vaja enamus ise. Nagu ei ole vaja kirjutada tekst. JASON Hirschhorn: ma ei kasuta Sõna cast, aga jah, ei ole vaja deklareerida liik spetsiifilise muutuja. Kuidas selle asemel me kuulutada muutuja? Publik: Kasuta dollari märk. JASON Hirschhorn: Kasuta dollari märk. Niisiis $ x on muutuv. 1 $ on muutuv. $ String on muutuv. Need muutujad $ x võiks olema täisarv. Siis võiks olla string. Siis võiks see olla märk. See ei ole tegelikult küsimus. Ka lahe asi PHP on ütleme, $ x on string üks. Ja $ y on iseloomu üks. Saate lisada $ x ja $ y, ja siis see teile 2, mida soovite oodata. Seega on tegevust PHP. Sest see on lõdvalt kirjutatud muutujad, endastmõistetavalt casting toimub teie ja mõned toimingud. Seda saab teha toiminguid asjad erinevad. Kui enne, siis sageli saada viga C ütlus, ei ole see tüüp mis pidi minema siit. Ainult asjad sedalaadi minna siin. Sa ei hakka seda tüüpi viga, üldiselt, PHP. Nii et üks suur erinevus - kuidas me muutujaid. Teine suur erinevus on see, et PHP koodi tõlgendada. Reguleeri, C kood on kompileeritud. Mida see tähendab? Noh, C kood, mida juhtis läbi tõlkija. Te loodud binaarne fail. Ja sa jooksid, et binaarne fail. Sa hoolitsesid kõik vead enne sa loodud binaarne fail. Muidugi oleks võinud olla killustatus vead, kui sa jooksid binaarfailiga. Aga see ei ole nagu sa unustasid lisada mõiste printf või sa ei kasuta muutujat ja lihtsalt loodud raiskav muutuja. Või siis ei ole määratlenud funktsiooni prototüüp. Kõik, mis juhtus enne koostada. Ta andis sulle kõik vead või halb asju, mida ta arvas, võib juhtuda. Ja siis, sul oli 0 ja 1 faili, et sa jooksid. PHP kood ei tööta niimoodi. Sa lähed kirjutada PHP koodi. Siis sa lähed salvestada, arvatavasti. Ja vähemalt P-Set 7, sa lähed värskendada oma veebibrauser, ja sa lähed, et näha, mis juhtus. Sa lähed vaatama väljund selle PHP koodi. Samuti võib leida ülaosas Teie lehel viga. Kuna teil on olnud mõned viga oma PHP. Võite veel näha ülejäänud veebilehe otsib fine. Aga teiselt poolt on vale, ja seal on viga selles kohas. Ja seda sellepärast, et osa PHP kood ei tööta. Tõepoolest, kui teil täita, kui te minna midagi by.php. See saab minna läbi oma PHP faili rida-realt ja täidab seda siis ja ainult siis. Ta ei kavatse kompileerida ees aeg või koostama ühe koopia ja seejärel anda et koostatud koopia kõigile. Iga kord, et see läheb läbi minema rida-realt ja täidab seda. Nii mõned read tööpõhimõtteid ja väljund midagi õige. Ja muude liinide võib katki ja väljund viga asemel. Niisiis, kui silumine PHP oleme andnud sa paar abivalmis asjad sind aidata siluda nagu dump funktsioon. Aga üldiselt, sa lähed et need vead. Ja see, kuidas sa lähed tean, et sa tegid midagi valesti. Aga sa oled alles näeme viga kui sa tegelikult kulgema kood. Teine oluline aspekt PHP ja Veebiarendus on idee get versus post. Kas keegi oskab seletada, mis vahe vahel saada ja postitus on? Keegi - Jah. Publik: Kas ei ole üks neist lase kasutajal näha andmete ja üks neist ei ole? JASON Hirschhorn: Suur. Jah, sul on midagi lisada? Publik: I õhuke ametikohale super-globaalse muutuja. JASON Hirschhorn: Nii mõlemad muutujad on antud teile. Need on vaid muutujad. Ja sa tead, et nad on muutujad, sest siin ma kasutada dollari märk. Need on antud muutujate Teile PHP. Ja kui te liigute eri veebilehtede vahel, soovite salvestada mõned andmed. Sa ilmselt tahad salvestada kui kasutaja on sisse logitud See ei ole salvestatud GET ja POST. See on salvestatud midagi, erinev muutuja. Kas keegi teab, mida muutuja, mis on salvestatud aastal, või mida muutuja, mida kasutada P-Set 7, veendumaks, et kasutaja on sisse logitud? $ _SESSION, See on täpselt õige, ilmselt oluline olla kursis nimed need asjad kasutate sageli. Siis kasuta sessiooni muutuja säästa informatsiooni lehele. See on super muutuja. See on olemas igal leheküljel, võibolla nagu globaalne muutuja, kui soovite mõelda umbes nii. Seal on paar muud muutujad mis võimaldavad teabe edastamiseks lehelt lehele. Eriti need, me keskenduma on GET ja POST muutujaid. PHP nad välja näevad $ _GET Ja $ _POST. Ja vahe, kui Marcus märkis välja, vahel kaks neist on see, et teabe $ _GET on kuvatakse URL. Nii et kui me vaatame siia, näeme YouTube link. Me näeme seda küsimärk. Näeme v = ja seejärel mõned väärtus. Tagasi idee põhiväärtus paar, v on võti. Ja siin on väärtus. Nii et kui me minna sellele lehele või kodeerimine sellel lehel, oleks meil muutuja nimega $ _GET. Kui läksime $ _GET sulg "v" sulg, väga sarnane massiiv märge, et see on assotsieerunud massiivi sest me ei kasuta indekseid. Kasutasid stringid võtmed. Aga väga sarnane idee. Kui me käisime, saaksid seda väärtust. Sellel lehel suudaksime kasutada seda raha. Kui me tegelikult vaatama, lähme minge YouTube lehel. Mis video peaks me vaatama? See üks, mida inimesed Hobbit fännidele? Publik: Jah. JASON Hirschhorn: Nii et ma olen kopeerimine oma osa URL ja kleepimist uues aknas. Ja nüüd, kui te vaatate siia, siis saad märkate, et taas kord - Ma lähen kopeeri ja kleebi see gedit, nii et me näeme seda suurem. Märkad, et see on küsimärk. Küsimärk on määratud, et kõik pärast seda saab olema salvestatud get muutuja. See siis on v, mis on esimene võti ja see esimene väärtus. Ampersand on eriline. Ampersand ütleb, OK, me valmis esimene väärtus. Me liigume nüüd edasi teise põhiväärtus paari. Siin võti nimetatakse funktsiooni ja väärtus on youtu.be. Nii et kui ma olin kodeerimine seda lehte ja keegi läks see link ja pidin võibolla watch.php. Ja ma kodeerimine see. Ja ma võiks kasutada $ _GET muutuja. Ja ma oleks v ja Oleksin funktsiooni. Ja kui ma kasutan v klahvi I oleks sellise väärtusega. Ja kui ma tegin $ _GET sulg "omadus" sulg, ma saan selle raha. Jällegi, see ei ole tingimata kohaldata - Ilmselt YouTube võtmed ja väärtused ja saada teavet, ei kohaldata meie Ülesanded 7. Kuid on teatud asju, mida me tuleb läbi saada meie Ülesanded 7. Ja kindlasti, kui lähete veebilehele või kodeerimine oma lehele $ _GET Tulevad mugav kui teie kodeerimine. Mis on üks põhjus kasutada $ _GET siis, kui see ei paku mitte privaatsust? Näete kogu selle teabe mis kuramuse üle. See kõik kuvatakse kasutajale. Aga mis on üks põhjus, et sa võiksid soovite salvestada midagi $ _GET, kui mitte $ _POST? Miks võiks sa tahad seda teha? Hea küll. Ma palusin sul viktoriin 1. Mis on pro dollarit _GET? Mis on üks pro? Jah - Publik: See on lihtsam jagada teavet. JASON Hirschhorn: Ma arvan, see on suurepärane. See on lihtsam jagada teavet. Kergem on järjehoidja. Võite järjehoidja nüüd, YouTube.com / watch? V = midagi ja mine selle konkreetse video. Kui YouTube tegi alati POST taotlused erinevatel lehtedel, iga YouTube URL oleks YouTube.com. Sa ei järjehoidja ühe video. Sest kui sa ütled, jagatud, et link kellegi teisega, siis ei ole automaatselt saada oma postitus muutuja. Nad lihtsalt saada see link ja link on kõigile sama. Nii et see on üks pro. See võimaldab teil järjehoidja see teavet või jagada seda teavet või teha seda natuke kasutajasõbralikumaks. Muidugi, ei ole privaatsust nii et meil on see postitus muutuja. Ja teavitamine ei ole kuvatakse URL. See ei ole täiesti privaatne. Aga see on pisut privaatsem. Ja te näete, see URL siin, cs50.net. Sõltumata sellest, kas sa oled sisse loginud kodulehel, see saab olema sama URL, cs50.net. Ilmselt midagi on erinev, kui sa oled sisse loginud veebilehel. Sa pead üks, tõenäoliselt sisestada oma PIN-kood. Ja see kinnitas, et with the server. Ja see on ilmselt säästa muud infot. Aga link ei muutu üldse. Ja see on nii, siis midagi on saadetud posti teel. URL ei muutu. See postitus teave ei ole kuvatakse URL. Aga mõned riik on muutunud, ja võib-olla seal on mõned andmed salvestatakse POST muutuja. Vabandust. enne kui ma minema SQL kõik küsimusi PHP eelkõige küsimustele, mida me ei lähe üle et olete leidnud või süntaks või loogika küsimusi PHP? OK. Lõplik keeles siis suheldes sel nädalal Structured Query Language, SQL, hääldatakse järge sageli. See võimaldab teil suhelda andmebaasis formaliseeritud. Ja see mängib väga kenasti PHP. Nagu näete Ülesanded 7 oleme teile funktsioon nimega päringut. Ja see võtab SQL string ning vormistab et päringu andmebaasi. Varasematel aastatel, siis ei olnud arvestades seda funktsiooni. Sa pidid kasutama PHP funktsioone teha päringu andmebaasi ja kontroll vigu ja siis saada tulemusi. Ja tegelikult, see ei ole nii raske, sest jällegi, see mängib väga kenasti PHP. Ja PHP annab teile palju funktsioone suhelda SQL andmebaasi. Nii tihti, kaks need käivad käsikäes. Muidugi, siis võiks suhelda SQL andmebaasi iga mitmeid teisi keeli. Aga PHP on suurepärane üks valida. Andmebaas - me läheme üle selle kiiresti, sest see on Buzz sõna me hakata kasutama sageli - on kogumik tabeleid. Nii et me ei mõtle seda Exceli failina. Exceli fail on mitu kaarti on ekraani allservas. Iga menüü me nüüd nimetame lauda kus Tabelis on kogumik ridu. Ja mis on järjest? Noh, rida on see, et sama asi Exceli faili. See lihtsalt on teatud väärtused iga antud valdkonnas või iga antud veerus. See on nagu kirje tabelist. See on üliõpilane, kes on ID, konkreetse ID ja konkreetne nimi ja konkreetse maja. Nii andmebaas on kogumik tabeleid. Ja lauad ise ridade arvu või kirjeid. Samuti on igas tabel, teatud valdkondades. Ja mis määrab, milline iga kirje on kavatse olla, põllud mõnikord nimetatakse veerud kuid üldiselt nimetatakse väljad. Selle väga lihtne tabel, mul on kolm valdkondades, ID väljale kasutajanimi valdkonnas, ja hash valdkonnas. Ja mul on kolm rida. Praegu on nad tühjad. Nad ilmselt ei oleks tühi kas see oli mu tõeline andmebaasi. Nii et kui olete kasutanud Exceli sarnane mõte et mida te teete, Excel, kuigi Ilmselt nüüd me ei kavatse olla võimalik teha palju võimsamad asjad salvestatud informatsiooni meie andmebaasi. Sul on luua ise üks andmebaasis Ülesanded 7. Aga saate luua mitu tabeleid andmebaasi. Sul on luua andmebaas või tabeli kasutajatele. Sul on ka luua tabel arvatavasti aktsia tehingute hoida jälgida neid, sest teil on vaja rakendada ajalugu funktsiooni. Mõlemad need tabelid on erinevates valdkondades. Näiteks kasutaja valdkonnas, siis ilmselt tahad oma kasutajanime ja ID ja räsi oma parool. Varud tabel, mis jälgib ajalugu ja ajalugu tabel, siis ilmselt ei pea kasutajanime ja hash ja ID. Sa ilmselt vaja ainult üks neist väärtused, mis on ainulaadne, et seostada seda, et konkreetne kasutaja. Aga siis, sa tahad, et salvestada muud asjad, mida aeg oli tehing tehtud. Mis varu on ostetud või müüdud? Mitu aktsiad börsil aastal ostetud või müüdud? Milline oli hind, mille juures varu on ostetud või müüdud? Nii et taas, sa lähed, et suhtlevad koos andmebaasidega, mis on kavatse olla mitu tabelit. Iga tabel läheb on oma rida valdkondi. Siiski on tõenäoliselt sarnased valdkonnas iga tabel, mis käsitleb neid üksteisega. Tavaliselt on see ID valdkonnas. Sest kui iga kasutaja on unikaalne ID ja mida te tavaliselt seostate et ID-ga iga tehing, et kasutaja teeb või kõik selle kasutaja ajaloos. Ja sul on kasutaja ID. Saate teavet kas tabel. Saad oma kasutajanimi ja te saad kõik oma tehingud. Küsimusi andmebaasid või konkreetseid küsimusi? Tegelikult olgem hoidke seda. Me oleme seal kahel pool. Seega on neli tegevust andmebaase, mida kasutate sisse Ülesanded 7 ja tõenäoliselt kunagi kasutama. Esimene asi, mida tahame teha, on sisestada uus rekord tabelisse või uus rida tabelisse. See on geneeriline funktsioon geneeriline vorm, selle SQL päring. INSERT INTO tabel, mis iganes veergu soovite lisada ja seejärel väärtused, et sa lähed, et tahad pannakse need veerge või välju. Kui teil on mitu tabelite andmebaas või mitu andmebaasid, siis Samuti võib osutuda vajalikuks täpsustada andmebaas ja tabelit, mida soovite panna asju. Aga väga lihtne, kui soovite lisada millekski, sa ütled, et siin on valdkondades ma tahan lisada. Ja siin on väärtused. Mõnel tabeleid ka, ja see kasutaja Tabelis on hea näide. Ilmselt selle kasutaja laua-ja ilmselt oma kasutajanime tabeli P-Set 7, ei ole lihtsalt kasutajanimi väärtus. Seal ei ole lihtsalt raha väärtust, või vallas, pigem. On ka ID valdkonnas. Ma ei hakka lisama, et ID valdkonnas. See saab anda mulle automaatselt, kui uus rekord lisatakse. Nii et seal on mõned välja, mida saab seadistada toimuma automaatselt. Võib-olla soovite anda iga kasutaja $ 10.000 raha ära nahkhiir. Nii et ma ei vaja lisada mitu raha siin. Kõik, mida ma vaja lisada on kasutaja nimi. Ja siis, raha valdkonnas on eeltäidetud ja ID valdkonnas tuleb eeltäidetud. Nii Sageli me ei sisestamist midagi arvesse igas valdkonnas, sest need teised väljad on eeltäidetud. Sest see, kuidas me luua selles tabelis. Teine asi, mida sa lähed tahame teha, on kustutada rekord. Kustutamine midagi on väga lihtne. Sa annad tabel, kuhu soovite kustutada midagi. Ja te ütlete, OK, ma tahan, et kustutada rekord, mis on kasutajanimi Milo. Või ma tahan kustutada kõik andmed, mis kasutajanime Milo või mis olid tehingu kasutaja ID number 2. Kõik küsimused on need kaks tüüpi päringuid? Publik: [kuuldamatu]. JASON Hirschhorn: Jah. Nii et ma lähen kasutada rida ja rekord sünonüümidena ning mõned veerus ja valdkonnas. Aga üks rida on üks rekord. Üks tulp on üks valdkond, mis läheb Tagasi selles tabelis. OK. Järgmine asi, mida sa oled ilmselt lähen tegema, on saada mõned teabe tabel. See on Select päringu. Ja veel, mida tabel ma valides? Ja mis veerg ma tahan valida, või Mis raha ma tahan, et valida ja millest rida? Nii Select on natuke eriline. Ma ütlen, OK, ma tahan, et see tabel. Ja siis ma tahan, et kolonn kasutajanimi ja Ma tahan seda rida ID 2. See on üks viis seda teha Vali. Või ma ei saa öelda, anna mulle iga ühe kasutajanime. Või ma ei saa öelda, anna mulle kogu rida sellest tabelist, kus kasutajanimi on 1. Seega on paar erinevat võimalust Ülesanded Valige päringut, sõltuvalt sellest, kuidas palju teavet, mida soovite, Teil on alati võimalik lihtsalt vali kõik sellest eraldi tabeli ja siis loop selle kaudu, valides välja asjad, mida sa tahad. Kuid pidage meeles, kui olete valides palju asju laua ja sind on tõesti suur tabel, mis võtab mõnda aega, nii et parem on valida vaid asjad, et sa lähed et lõpuks kasutavad. Ka koos Valige ja kõiki neid muu SQL käsud samuti, ma olen annab teile paljad kondid versiooni. Aga öelda, et ma valides kasutajate ja ma tahan välja printida tähestikulises Ma võib valida kõik kasutajad ja seejärel sortida neid tähestiku minu kood. Või on nii, et kirjutada valige päringu, mis valib asju tähestiku mood, põhineb off konkreetse veeru kas kasvavas või laskumine. Nii et pidage meeles, et palju sellest, mida sa tahan teha saab ilmselt teha päringu kaudu täiendavaid atribuut. Nii et otsida need päringud Internetis või muid asju saab teha nende päringuid laiendada neid. Lõpuks, viimane asi, mida sa teha tahad ei sisesta midagi või kustutada midagi, vaid pigem uuendada midagi. Ja see on tehtud uuendus päringu, ja jälle, mida tabelis. Ja mis muutus ma tahan teha? Ja mis real või rekord teha Ma tahan, et muutus? Kõik küsimused on SQL? OK. Nii et meil on umbes 15 minutit. Ja see on viimane slaid on mul. Ja loodetavasti see viimane slaid hea segue arvesse lahendamist, sest mõista, kus me tahame sisestada kirjeid, kustutada, valige neid, ning ajakohastab neid aitab meil mõista suuremat loogikat ja voolu Probleemne Set 7. Ma tean, kõik vastused nendele küsimustele. Ma ei ütle teile, kõik vastused. Aga kui keegi teine ​​soovib esitada küsimus rühma või vastus ühele neist küsimus, saame kasutada, et hüppasid käsk rääkida probleemi komplekt. Või kui keegi on üldisem küsimus off probleem komplekt, võid vabalt küsida, et hästi. Ja me saame alustada seal. Pea meeles, et sa oleks vait on omased kõigile. Jah. Publik: Nii on ainus võimalus edastada muutujate ja erinevate web lehti või kõige mugavam Muide, kasutades POST või GET? JASON Hirschhorn: Nii et jah, see on Kõige mugavam viis öelda - kui keegi täidab vormi - saada teavet teise web lehel, kasutades GET või POST. Kuna raamistik me kasutame Selles probleem komplekti, märkad et palju kordi, me muuda teisele lehele. Meie või me muuta teise faili, ei tingimata teisele lehele. Nii me läbima muutuja. Ja siis see muudab HTML-lehe, kasutades teavet selle muutuja. See ei ole tehniliselt kulgeb vahel teabe erinevaid veebilehti. See möödub info eri faile. Ja nii me ei kasuta muutuja teha. Aga jah, kui me tahtsime edasi teavet konkreetse lehe teisele lehele, GET ja POST oleks olema võimalus seda teha. Muid küsimusi lahendamist? OK. Lähme läbi, siis konkreetse osa lahendamist. Oled läheb vaja, ühel hetkel, näidata kellegi portfelli ekraanil. Mida ma mõtlen, kui ütlen portfelli kontekstis seda probleemi seatud? Publik: See on nagu varud, et nad on, kuidas paljud aktsiad nende omandis, hind, ja kui palju raha nad on lahkunud. JASON Hirschhorn: Kõlab hästi. Ma tahan, et kuvada kõik aktsiad nad ise iga aktsia ettevõtte aktsiad ja ilmselt, kui palju see on väärt ja seejärel eraldi muutuja kui palju raha nad omavad. Nii et ma tahan, et kirjeldada seda. Alustame räägime, kuidas suutsin minna seda teed, et mis tabeleid olen läheb vaja pea oleks võimalik seda teha. Jah - Publik: Noh kasutajad, ja siis, ma arvan, saad teha tabel nimega Aktsiad või midagi sellist, mis oleks, kui palju nad on ostnud. JASON Hirschhorn: OK. Nii et ma vajan tabel nimega Kasutajad, kes jälgib kasutajanimi, arvatavasti, tõenäoliselt mõned ID, ilmselt indiviidi parooli. Mis on veel midagi, mis te lihtsalt öelda, et on seotud? Keegi peale Michael, mis on midagi muud, mis on seotud Iga kasutaja, ainulaadne neile? Publik: ID. JASON Hirschhorn: ID - Mis on üks asi, mida me oleme ilmselt läheb taha kuvada sellel lehel? Publik: Nende nimi. JASON Hirschhorn: oma nime - mis on Teine asi, mis on seotud käesoleva eriti lahendamist? Publik: Mis varude nad ise - JASON Hirschhorn: Seal saab on palju mida varude nad omavad. Mis on üks konkreetne väärtus küll, et nad ei kavatse on nendega? Kuidas nad kavatsevad osta ja müüa oma varusid? Publik: Cash. JASON Hirschhorn: Nad läheb on raha. Nii iga kasutaja läheb on üks väärtust rahas. Ja see saab olema unikaalne iga kasutaja. Nii et kasutaja tabel, see teeb mõtet panna raha. Sa võid muidugi luua teise tabel, mis on kasutajatunnused ja nende väärtus rahas. Aga see ei ole loogiline. Mõttekas on lihtsalt panna kõik see ühes tabelis. Nii et me ei kavatse on tabel kõnealust teavet. Ja siis, mida see teine ​​tabel me lähed on? Sa ütlesid, Varud tabelis. Mida me kasutusele Varud tabel? Igaüks, ideed - Publik: ettevõte. JASON Hirschhorn: Me panna nime firma, et AAPL Apple. Jah. Publik: Mitu aktsiad ja kui palju nad väärt on. JASON Hirschhorn: Mitu aktsiad kui palju nad väärt - mis on midagi muud me vaja kõnealuses tabelis? Publik: kasutajatunnus indeks seda. JASON Hirschhorn: Kasutaja ID. Nii et tabel, me tulen ilmselt on - oletame, kui see on keegi, kes omab kolm varud, kolm rida, iga et kasutajatunnus või üksikisiku kasutaja ID, kuid erineva ettevõtte nimi, erinevate aktsiate arv eeldatavasti ja erinev hind väärtus iga nendest varudest. Jällegi, mida ma räägin nüüd ei ole tingimata rakendamise, sest sa tead, et on veel mõned tõhusamaid viise seda rakendada. Aga see on hea koht alustamiseks. OK. Nii et need on kaks lauda meil. Nüüd tahame see lehekülg kuvada. Mis on esimest tüüpi päring meil oleks vaja teha. Igal leheküljel, eeldatakse, et on kasutaja sisse, meil on oma kasutajatunnus. Mis on esimest tüüpi Query peame tegema? Jah. Publik: Nende kasutajatunnus. JASON Hirschhorn: Meil ​​on oma kasutaja ID, kui me hakanud koodi Alguses meie lehel. Mis on esimest tüüpi päringu me on vaja teha, kuna kasutaja ID? Läksime üle nelja liiki. Seal on ainult neli võimalikku vastust. Publik: On valida rekord. JASON Hirschhorn: Select - tahame valida kasutaja tabel saada, ütleme, nende summa raha. Ja meil on võimalik printida summa raha peal ekraanil. OK. Mis on järgmine tüüpi päringu teha tahame? Meil on mõned muud asjad meil on vaja näidata. Need on salvestatud teises tabelis. Niisiis, kuidas me saame seda? Publik: Saad valida neile. JASON Hirschhorn: Select - jälle, seal on ainult neli võimalust. Vali ilmselt helid nagu õige. Nii et me peame tegema veel valikpäringult, uuesti, kasutades seda kasutajanime. Ja nüüd me tahame tagasi mitte ainult üks reas bu kõik read, mis vastavad meie kriteeriumid, kus kasutaja ID võrdub 1. Ja siis me saame minna ja lase silmus lihtsalt printida need välja ekraanil võibolla välja trükkida ettevõtte kõik need ekraanile. Hea, et see kõlab nagu see on väljapanek portfelli, mitte palju rohkem keerulisem. OK, kasutaja siis otsustab, et nad on palju raha üle jäänud. Ja nad tahavad osta rohkem aktsiaid börsil. Oletame, et nad on juba oma Selle ettevõtte aktsia liiga. Nii nad lähevad oma buy lehel. Nad sisestada ettevõtte nimi. Mis on päringu peale sisend ettevõtte nimi, et sa pead täita järgmine? Jah. Publik: Update. JASON Hirschhorn: Update - ja mida tabel sa tahad uuendada? Publik: Nende tabel, mis põhineb oma ID number? JASON Hirschhorn: Nii uuendada mitte kasutaja table - nii uuendada Varud tabel, kus kasutajatunnus mitte ainult mängu, kuid stock nimi ka sobib. Sa saad mingi väärtus. Ja siis, mida sa tahad teha, et raha ja lisada siiski palju varusid nad tahan osta seda. Nii et sa ei taha, et pimesi kirjutada, et väärtus. Aga sa võid tegelikult teha, et algne väärtustame ja lihtsalt uuendada. Seda saab teha näiteks pluss võrdub, mitte ainult võrdsete. Mis on midagi, kuigi - kui me mõelda seda ja tahame olla võimalikult töökindel - me peaksime tegema enne võtame värskenduse päringu? Nad tahavad osta viie aasta Apple. Iga aktsia Apple on 200 $. Publik: me peaksime kõigepealt raha. JASON Hirschhorn: peaksime kontrollige kõigepealt raha. Me peaksime veenduma, et on piisavalt raha. Milline päringule saame täita, et veenduge, et nad on piisavalt raha? Publik: Teine Select. JASON Hirschhorn: Select - valime vastavalt oma kasutajatunnus, saada oma väärtust rahas. Kas mõned kiired matemaatikat. Ja kui see läheb muster, neil on piisavalt raha. Siis saame näidata meie uuendatud. Või äkki, kui ei, võtame siis. Anname neile hoiatuse. OK. Ütle, et neil ei ole firma. Nad ostavad uue firma. Nad ostavad Microsoft. Milliseid küsimusi me tahame teha, kui nad soovivad osta Microsoft? Ja nad ei oma ühtegi Microsoft. Mitte Manu, keegi teine, keegi peale Marcus? Carlos - Publik: Select, et veenduda nad on piisavalt raha. JASON Hirschhorn: Kõlab hästi. Publik: Ja siis sisesta kohta [kuuldamatu]. JASON Hirschhorn: Täpselt, me oleme kavatse soovite lisada arvesse Varud tabelis. Ja me ei kavatse soovite lisada. Me saame sisestada oma kasutajatunnus, nimi firma ja kui palju aktsiaid nad soovivad osta. Millised on mõned muud toimingud, mis on lehti või funktsionaalsus oled läheb on rakendada P-Set 7, et me peaks minema üle? Publik: Tegelikult, ma selline on küsimus see. Enne näidata portfelli, peaks sa kontrolli Yahoo kodulehel veenduge aktsiahinnad ei ole muutunud? JASON Hirschhorn: See kõlab nagu hea mõte. Niisiis, mida Marcus on öelda, OK, stock hinnad muutuvad pidevalt. Varud, et nad ise lauda meie tabel nimega Varud, võiksime säästa hind aktsia ostetakse juures. Aga see ei tundu, et jõuline, sest hind börsil on pidevalt muutub. Nii et tegelikult, siis ilmselt ei pea säästa hinnaga aktsia. Kuid iga kord, kui näidata oma portfelli värskendamisel või uuendada hind aktsia. Ja kui teil on - ja sul on juba. Ma tean, et te olete kõik vaatasid probleem seab juba tagasi. Te olete aru saanud, et me oleme kirjutanud mõned koodi teile, mis võimaldab teil saada hind börsil, antud ettevõtte nimi. Nii et jah, see ilmselt kõlab natuke tugevam. Aga see tabel ei pea säästa hinnaga aktsia. OK. Millised on mõned teised funktsioonid sa vaja rakendada sel nädalal, et saame rääkida? Ma tahan rääkida nendega. Mida sa tahad sellest rääkida? See on ilmselt selles spec. Tahan lihtsalt kerige alt spec ja küsi esimese sõna te näete, et ei ole mõtet. Üks teine ​​funktsioon - Räägime ühe. Me alustame seal. Publik: Salvestamine ajalugu. JASON Hirschhorn: Salvestamine ajalugu, suur. Nii et sa lähed on jälgida ning tehingute ajalugu. Nii et sa tahad jälgida iga kord, kui nad ostavad või müüvad laos. Ostsin oma aktsia. Me lihtsalt öelda, siis ilmselt mõtet lisada Select, et saada oma raha ja vaadata tagasi. Tõenäoliselt on tark siis lisada sisestada või uuendada sõltuvalt kas nad ise, et aktsia. Kui me tahame, et jälgida ajalugu, kuidas me seda teeme? Kas see minna Varud tabel? Publik: Ei. JASON Hirschhorn: No see ilmselt läheb erinev tabel. Sest et sa osta 10 aktsiate Apple. Siis osta veel 10 aktsiat. Sa tahad vedada eraldi arvestust. Need on kaks eraldiseisvat tehingut. Nii et meil on veel üks tabel, Ajalugu tabelis. Nii et taas, me osta. Teostame Select, siis Lisa või Update. Mida me edasi? Mis on järgmine päring me ellu kui me osta midagi? Me tahame, et jälgida ajalugu. Jah. Publik: Te soovite jälgida ebaõnnestunud tehingute liiga. JASON Hirschhorn: Noh, enne kui me öelda, mis liiki tehingut, mida me tahame - Mis tüüpi päring, Carlos, ega võimaldab meil jälgida asju üldiselt? Sul on neli korda arvata. Kumba sa arvad? Publik: värskendamine. JASON Hirschhorn: ei uuenda. Mis su teine ​​arvamus? Publik: valimine. JASON Hirschhorn: Kui soovite, et hoida peal midagi, siis ilmselt tahavad seda üles kirjutama kuhugi või salvestada hiljem. Nii et kui ei uuenda, siis - Publik: Pange ta. JASON Hirschhorn: Insert, siis me läheme. Jah, siis vali suurus raha neil on, kõlab hästi. Neil ei ole piisavalt raha. See tehing ei hakka tööle. Ei, sa ei pea jälgima tehingust, kui see ei tööta. Või saab, kui soovite neile raske aeg. Aga sa ei pea seda tegema. Siis lisada või värskendada nende varud tabelis. Ja nüüd, kui olete oma teise tabeli. Sul on oma ajalugu tabeli või mida iganes sa tahad seda kutsuda. Ja selles tabelis, sa lähed lisada uus rida. See on ilmselt läheb on kasutaja ID. See on ilmselt läheb nimi aktsia. See on ilmselt läheb aega, et nad seda tegid. Ja sel juhul, siis saad ilmselt soovite lisada hind. Sest ajalugu, siis ei ole huvita, mida praegune hind on. Sa huvita, mida on hind kui ostetakse või müüakse midagi. Nii et see kõlab nagu, et rakendada ostmine täielikult hõlmab mitmeid erinevaid SQL päringuid, aga ausalt, ei et palju koodi üldine. OK. Ja mis hoolitseb ajalugu. Oletame, et me tahame näidata meie ajalugu. Rääkisime väljapanek meie portfelli. Kuidas me näidata meie ajalugu? Publik: Arvatavasti kronoloogiliselt. JASON Hirschhorn: Eeldatavasti kronoloogiliselt - mida päringu sa arvad et me tahaks kasutada? Publik: Vali. JASON Hirschhorn: valige - vali võibolla kõik read, et tabel mis vastavad kasutaja ID ja seejärel näidata neile järjekorras, kõlab hästi. Kas meil on vaja kirjutada koodi sorteeri selles nimekirjas? Publik: Ei, sest sa ütlesid, meil on kasvavalt ja kahanevas asi. JASON Hirschhorn: asi? Publik: Jah. JASON Hirschhorn: Jah. OK, ärge keerake kood mulle, et käsitsi sorteerib läbi oma päringuid neid sorteerida. See kood on juba antud. Võite kirjutada valikpäringult mis sorteerib asju. Sorteeri need eelnevalt ja siis välja printida. See muudab nii palju mõttekam teha seda nii, kui teistpidi. Jah. Publik: Kas meil on vaja, et sorteeri need eelnevalt? Kas see tähendab, sa sorteeri neid andmebaasi? JASON Hirschhorn: Select päringu tagastab need sulle sorteerida. Nii seda teha, mitte lihtsalt lasta tagasi sind juhuslikus järjekorras ja seejärel sorteeri need ise. Jah. Publik: Kas on võimalik, et hoida seda sorteerida andmebaasi ise, nii et sa ei pea sorteerima seda iga kord, kui - Publik: Kas lisada see sorteeritud? JASON Hirschhorn: Küsimus - on see oluline, et asjad on järjestatud andmebaasi? Publik: Ei. JASON Hirschhorn: Noh, nad on järjestatud. Nad kronoloogiliselt. Aga oletame, et asjad on järjestatud järjekorras, ülalt alla. Meil on Google vormi. Iga kord, kui keegi reageerib meie Google moodustada, ta lihtsalt saab panna põhja tabelis. Kas see, et asjad on järjestatud mitte kronoloogiliselt? Publik: Kui see ei ole kronoloogilises, sa ei pea sortida iga kord võtate info välja. Aga kui see on juba sorteeritud, ei saa te ei pea seda tegema täiendavaid funktsioon kõne? JASON Hirschhorn: Nii et tegelikult hea punkt. Meie programmeerijad, see võib oluline. Ja me võiksite leida andmebaas et ei sorteerida asju kronoloogiliselt. Või luua oma andmebaasi, nii et see hoiab asjad sorteeritud kasutajatunnus. Nii et tee, ütleme, on meil 1000 kasutajatunnused. Või Facebook, meil on miljoneid kasutaja IDd. Me ei taha, et meie laud lihtsalt olla juhuslik või meie andmebaasi juhuslik. Oleks tore, kui kõik kasutajatunnused sorteeritud. Siis me võiks käivitada binaarne otsingud meie lauale ja siis lihtsalt leida konkreetse tüki. Nii et jah, sõltuvalt - kui me ülespoole, me võiksite leida andmebaas et hoida asju sorteeritakse erinevad Muide, nii et need päringud võtaks vähem aega. Ja me ei pea minema läbi meie kogu andmebaasi iga rida antud tabelis. Aga tase meil töötab, me ei pea muretsema hoida asjad lahendatud. Võime oletada, et aega kulub et päringu joosta saab olema ebaoluline, arvestades seda, mida me tegeleme. Aga jah, hea mõte - kui me ulatuslikke, võib see mõttekas kujundada meie andmebaasi natuke teistmoodi. Üks lõplik andmebaasi disain, mida ma tahan Rääkimata ka, sest siis liigitatakse, või viskas pigem edasi disaini oma andmebaasi. Me rääkisime sellest. Raha on unikaalne iga kasutaja. Nii et sul on tabel nimega raha, et on oma kasutajatunnus ja nende summa raha ja siis tabel nimega kasutajad, kes on oma kasutaja ID ja oma kasutajanimi. Need tabelid kaarti peale iga muud üksühene. Tõenäoliselt on mõttekas neil olla üks tabel. Nii oletame, teil on kasutaja tabel, mis jälgib kasutajanimede ja raha. Nüüd on tabel, mis on varude individuaalse omab. Ja individuaalne võib omada rohkem kui üks aktsia. Nii et need ei map peale üksteisega üks-ühele. See ei ole loogiline, et on üks suur tabel, mis on 30 kirjed, kõik kordavad kasutajanimi, et kõik korrake parooli, mis kõik korrake mitu raha. Aga igaühel on võibolla erinevate varu nimi või erinevate aktsia hind. See ei ole mõtet lasta et paljud suured arvestust. Ole arukas, kui loote need andmebaase, nii et sa ei tee midagi rumalasti, korrates palju mittevajalikke andmeid. OK. Meil on kaks minutit jäänud. Inimesed väljaspool oleme põnevil, et liituda meid või tõenäoliselt, arvatavasti, alustada oma klassi. Kas kellelgi on küsimusi enne kui me lõpetama? OK, see oli tõepoolest keeristorm läbi kõik. Ma vabandan, et see pidi olema nii kiire ja et me ei saa olla nagu käed- Sel nädalal, kui ma oleksin meeldinud on. Aga kui teil on mingeid küsimusi selle kohta, midagi me läksime üle või midagi Selle probleemi komplekt - Eeldades olete lugenud ja panna heas usus pingutusi - emaili mulle või minuga. Ma olen rohkem kui õnnelik, et töö kaudu oma koodi teile või vastata kõikidele Kui teil on küsimusi. Pea meeles, et sel nädalal palju oma aega kulutatakse õppimisele uus süntaks ja püüame mõista, kuidas kirjutada SQL päringuid või PHP funktsioone või tegeleda MVC raamistiku. Palju aega sel nädalal ilmselt ei püüdnud aru saada, hull loogika, et me oleme palume teil teha. Palju see meil läks lihtsalt üle on suhteliselt lihtne. Nii et see ei tähenda, oodake kuni viimase hetkeni. Aga see ei tähenda, kohandada, kuidas te oma töö vastavalt, et veenduda te mõista ja õppe süntaks. Nii et sa ei ole, äkki, teades täpselt, mida sa tahad teha, kuid ei tea, kuidas täpselt kirjutada. OK, näeme järgmisel nädalal.